ruby on rails -如何在savon 2.0.2中使用证书



我最近更新了savon 2.0.2,我正在使用它通过soap发送一些xml。我必须使用证书,但在更新新版本的savon语法后,证书被忽略。有人能帮我学学新的语法吗?我可能遗漏了什么……我正在运行ruby 1.9.3和rails 3.2.9

旧版本:

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是好的,但证书被忽略…

so far I got:

  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

任何帮助将非常感激!!

使用ssl_verify_mode :none告诉Savon关闭SSL检查。这就是证书被忽略的原因。正如评论中所指出的,完整的文档可以在Savon网站上找到。

相关内容

  • 没有找到相关文章

最新更新