Savon连接到SoapUI SSL Mock服务

时间:2015-06-19 14:54:23

标签: ssl openssl soapui keytool savon

我正在尝试做一个概念证明,Ruby可以通过SSL使用Savon调用SOAP Web服务。我是一个菜鸟,所以我提前为任何错误道歉。

我按照以下链接中的教程让SoapUI使用密钥库创建模拟SSL服务:http://www.soapui.org/soap-mocking/tips-and-tricks/securing-mockservices-with-ssl.html

以下是我的ruby代码目前的样子:

client = Savon.client(
                wsdl: "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
                endpoint: "https://localhost:8002/mockCurrencyConvertorSoap",       
                ssl_version: :SSLv3,
                ssl_cert_key_file: "lib/private-key.key",
                ssl_cert_file: "lib/public-key.pub", 
                ssl_ca_cert_file: "lib/trust-soapui.pem",
                ssl_cert_key_password: "password",
                ssl_verify_mode: :peer,
                adapter: :httpclient,
                log_level: :debug,
                log: true,
                logger: Rails.logger,
                pretty_print_xml: true
            )

    response = client.call(:conversion_rate, 
                   message: {"FromCurrency" => "USD", "ToCurrency" => "JPY"}     )

以下是我收到的错误:

HTTPI::SSLError (hostname does not match the server certificate)

我相信我可能从根本上错误地创建了键,即使它来自SoapUI Mock Service使用的相同keystore.jks。我错过了什么?

注意:如果我设置

ssl_verify_mode: :none
,这显然会有效,但我真的想检查我的证书是否正确。

我在使用RailsInstaller的Windows 7专业版。

  

Ruby 1.9.3
  Rails 3.2.11
  萨文2.11.1
  httpclient 2.6.0.1

0 个答案:

没有答案