我正在尝试使用Savon gem(http://savonrb.com/)
访问SOAP服务用于身份验证的SOAP服务证书。
我使用openssl生成证书如下:
openssl req -x509 -nodes -days 365 -sha256 -newkey rsa:2048 -keyout name.pem -out name.pem
ruby代码如下:
savonConfig = {
:wsdl => 'http://www......?wsdl',
:log_level => :debug,
:log => true,
:ssl_verify_mode => :client_once,
ssl_version: :SSLv3,
:ssl_cert_file => './name.pem',
:ssl_cert_key_file => './name.pem',
:ssl_cert_key_password => 'password',
:open_timeout => 600,
:read_timeout => 600
}
client = Savon.client savonConfig
response = client.call(:request_message, message: {})
当我尝试点击SOAP服务时,我得到:
client.call(:get_something, message: {}):
Savon::UnknownOperationError: Unable to find SOAP operation: :get_something
我尝试使用不需要身份验证的SOAP服务使用相同的代码,但它运行正常。所以我的假设是我对证书做错了
我已将密钥和证书合并为一个,但是当我将其拆分时,它仍然会给我这个问题。
关于什么可能出错的任何想法?