3
최근에 savon 2.0.2에서 업데이트했으며 비누를 통해 XML을 전송하는 데 사용하고 있습니다. 인증서를 사용해야하지만 새 savon 버전의 구문을 업데이트 한 후에는 인증서가 무시됩니다. 누군가가 새로운 구문 좀 도와 수 - 아마 뭔가가있어 ... 내가 루비 1.9.3을 실행하고있어 3.2.9savon에서 인증서를 사용하는 방법 2.0.2
올드 (작업) 버전 레일 : 나는 지금
client = Savon::Client.new do | wsdl |
wsdl.endpoint = CONFIG['endpoint']
wsdl.namespace = CONFIG['namespace']
end
response = client.request(:ns, :getToken) do
http.auth.ssl.cert = OpenSSL::X509::Certificate.new(
File.read(Rails.root + "lib/certs/cert.pem"))
http.auth.ssl.cert_key_file = Rails.root + "lib/certs/key.pem"
http.auth.ssl.verify_mode = :none
soap.body = {
// body
}
soap.header={
"ns:account"=>{
:login=>CONFIG['login'],
:password=>CONFIG['password']
}
}
end
을 그것이 작동하지 않는 2.0.2에 정확히 동일한 작업을 수행하려고했지만 - 내가 가진 지금까지 ...
을 XML은 확인하지만 인증서가 무시되고 :
는client = Savon.client do
endpoint CONFIG['endpoint']
namespace CONFIG['namespace']
namespace_identifier :ns
ssl_cert_file OpenSSL::X509::Certificate.new(File.read(Rails.root + "lib/certs/cert.pem"))
ssl_cert_key_file Rails.root + "lib/certs/key.pem"
ssl_verify_mode :none
soap_header(
"sus:account"=>{
:login=>CONFIG['login'],
:password=>CONFIG['password']
}
)
end
response = client.call(:getToken) do
message(
// body
)
end
어떤 도움은 매우 극명하게 될 것이다 !!!
이 섹션을 읽었습니까? http://savonrb.com/version2.html#globals-ssl – phoet
이 질문은 비슷한 것을 다룹니다. http://stackoverflow.com/questions/15973285/does-savon-support-client-side-certificates-authentication –
업데이트 : Savon이이 문서를 꽤 많이 변경 한 것처럼 보입니다. Savon2를 여전히 사용하는 사용자의 경우 이전 앱과의 호환성을 위해 여기에 영구 링크가 있습니다. https://web.archive.org/web/20130112080003/http://savonrb.com/version2.html – maurice