Mule Studio의 Ruby에서 openssl을 사용해야합니다. Mule Studio에는 JRuby가 미리 패키지되어 있습니다. 아시다시피, JRuby에는 openssl이 포함되어 있지 않습니다. jruby-openssl gem을 다운로드하고 내 Mule 프로젝트에 파일을 포함 시켰습니다. jopenssl.jar을 제외한 모든 파일을 요구할 수 있습니다. 사실 나는 수 있습니다 필요하지만, 아무것도하지 않는 것.Mule Studio에서 jruby-openssl 사용하기
uninitialized constant OpenSSL::Digest::OPENSSL_VERSION_NUMBER
이것은 OpenSSL::OPENSSL_VERSION_NUMBER
를 참조 물론입니다 : 나는 다음과 같은 오류를 참조하십시오.
그냥 재미있게 수동으로 정의했지만 더 많은 초기화되지 않은 상수를 계속 찾아 냈습니다. jruby-openssl을 사용하는 유일한 방법은 jruby-complete.jar와 jopenssl.jar의 압축을 풀고 결합하는 것입니다. Mule은 JRuby의 자체 복사본을 사용하기 때문에, 말도 안되는 kludge는 말할 것도 없습니다.
아무쪼록 Mule Studio에서 jruby-openssl을 사용하는 방법을 알고 있습니까? (참고로 나는 노새와 JRuby를 모두 새로운,하지만 빨리 모두를 싫어하는 배우고 있어요.)
부록
배경 비트 : 우리는 뮬와 FTPS를 통해 파일을 전송해야합니다. 직접 지원되지는 않으며 기존 Ruby 구현이 있으므로 루비 코드를 Mule로 옮기기로 결정했습니다. 그러나이 문제가 시작된 곳인 openssl이 필요합니다. 위의 require 'openssl'
행은 오류를 유발하는 것입니다.
가 여기에 해당 뮬/루비 코드 : 귀하의 제안에서
<scripting:transformer name="SetData" doc:name="Set Data">
<scripting:script engine="jruby">
<scripting:text><![CDATA[
require 'socket'
require 'openssl'
require 'net/ftp'
require 'implicit_ftps'
...
]]></scripting:text>
</scripting:script>
</scripting:transformer>
, 나는 jopenssl.jar을 포함하는 새로운 JRuby를 버전을 대체하여 뮬 환경 도서관을 재건. 그러나 이제 내 응용 프로그램을 실행할 때 다음 오류가 발생합니다. 내가 아는 한, jruby-complete.jar을 제외하고는 그 밖의 것은 아무것도 변하지 않았다.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/consolo/bin/MuleStudio/plugins/org.mule.tooling.server.3.2.1_1.0.0.201201200937/mule/boot/mule-module-logging-3.2.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/consolo/bin/MuleStudio/plugins/org.mule.tooling.server.3.2.1_1.0.0.201201200937/mule/boot/mule-module-logging-3.2.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
업데이트 낭비 노력의 일, 우리 회사는 노새를 통해 FTPS를 지원하는 것은 가치가 아니라고 결정했다 슬프게도 후
.
아래에서 제 대답을 넘어서서 문제를 조사하는 데 도움이되고 싶습니다. 문제를 재현하기에 충분한 Mule 설정/Ruby 코드를 공유 할 수 있었습니까? –
감사합니다. 초기 질문에 더 많은 정보를 추가했습니다.더 많은 정보가 필요하면 알려주세요. – bioneuralnet
mule-module-logging-3.2.1.jar가 프로젝트 빌드 경로에 두 번 추가 될 수 있습니까? SLF4J 경고 외에도 JRuby 코드가 작동합니까? –