我将尝试使用Ruby的SOAP支持,具体如下:
SERVICE_URL = 'https://...'
...
def create_driver
::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
driver.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE
driver.options['protocol.http.ssl_config.client_cert'] = @certificate_path
driver
end
但是调用new(SERVICE_URL)
时会出现"OpenSSL::SSL::SSLError: certificate verify failed
"的错误。我该如何对第一次检索WSDL本身执行等效于driver.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE
的操作?
VERIFY_PEER
为VERIFY_NONE
的值吗?这很危险,因为我无法确定检查验证方法的代码是否检查了 VERIFY_NONE 或 VERIFY_PEER 的值。重新定义常量是绝对的最后手段。 - James A. Rosen