How to stop SOAP4R/OpenSSL requiring cert?


#1

Hi
I want to consume some web services that are only available over HTTPS.

My method looks like this:
def lookup_id
myid=params[:id]
driver =
SOAP::WSDLDriverFactory.new(“https://server.com/xxx.wsdl”).create_rpc_driver
@p=driver.verifyId(AUTH_TOKEN, PIN, myid)
end

Although this works fine on my local box (with a warning), when deployed
to the staging server I get:
OpenSSL::SSL::SSLError (certificate verify failed):

Can anyone assist me in telling SOAP4R and/or OpenSSL to simply treat
this is a warning rather than an error?

Thanks in advance,
Michael.


#2

On Dec 10, 2008, at 11:44 AM, Michael Mcgrath wrote:

Hi
I want to consume some web services that are only available over
HTTPS.

My method looks like this:
def lookup_id
myid=params[:id]
driver =
SOAP::WSDLDriverFactory.new(“https://server.com/xxx.wsdl

Try this:

SOAP::WSDLDriverFactory.new(“https://server.com/xxx.wsdl”,
{ ‘ssl_config’ => { ‘verify_mode’ => OpenSSL::SSL::VERIFY_NONE }})

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid


#3

Rob,
thanks for your response.

SOAP::WSDLDriverFactory.new(“https://server.com/xxx.wsdl”,
{ ‘ssl_config’ => { ‘verify_mode’ => OpenSSL::SSL::VERIFY_NONE }})
This gives “wrong number of arguments (2 for 1)”

Michael


#4

On Dec 11, 2008, at 11:40 AM, Michael Mcgrath wrote:

Rob,
thanks for your response.

SOAP::WSDLDriverFactory.new(“https://server.com/xxx.wsdl”,
{ ‘ssl_config’ => { ‘verify_mode’ => OpenSSL::SSL::VERIFY_NONE }})
This gives “wrong number of arguments (2 for 1)”

Michael

This might have to go closer to the place where the connection is
made. I’d just be diving into the soap4r code anyway, so splash on in
yourself.

There is also a place (somewhere) that lets you put a similar line
into a config file for your SSL connections. I think rdoc for the
SOAP4R library has an example.

-Rob

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid


#5

Try this out:

wsdl = “https://some.site/some_web_service.asmx?WSDL
drv = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
drv.options[‘protocol.http.ssl_config.verify_mode’] =
OpenSSL::SSL::VERIFY_NONE

Ben

On Dec 11 2008, 9:40 am, Michael Mcgrath <rails-mailing-l…@andreas-