3
我最近更新了savon 2.0.2,我用它通過soap發送了一些xml。 我必須使用證書,但在更新新savon版本的語法後,證書將被忽略。可能有人幫助我的新語法 - 我可能失去了一些東西......我運行紅寶石1.9.3和3.2.9軌道如何在savon 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 –
更新:它看起來像薩翁已經改變了這個文件很多。對於那些仍在使用Savon2的人來說,也許是爲了與一個較舊的應用程序兼容,以下是永久鏈接:https://web.archive.org/web/20130112080003/http://savonrb.com/version2.html – maurice