3

最近、savon 2.0.2を更新し、soap経由でxmlを送信するために使用しています。証明書を使用する必要がありますが、新しいsavonバージョンの構文を更新した後、証明書は無視されます。誰かが新しい構文で私を助けてくれますか?私はおそらく何かが欠けています...私はruby1.9.3とrails3.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は問題ありませんが、証明書は無視されています...

これまでのところ私は:

  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

どんな助けでも大歓迎です!!!

4

1 に答える 1

0

を使用すると、ssl_verify_mode :noneSSLチェックをオフにするようにSavonに指示されます。そのため、証明書は無視されます。コメントで指摘されているように、完全なドキュメントはSavonサイトにあります。

于 2013-03-14T14:12:09.553 に答える