Google Groups Home
Help | Sign in
soap4r and basic_auth over ssl
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
oleg.khabarov@gmail.com  
View profile
 More options Apr 18, 4:41 pm
From: "oleg.khaba...@gmail.com" <oleg.khaba...@gmail.com>
Date: Fri, 18 Apr 2008 13:41:06 -0700 (PDT)
Local: Fri, Apr 18 2008 4:41 pm
Subject: soap4r and basic_auth over ssl
Hello there,

I'm having some problems with getting basic_auth working. Here's some
stats:

Ruby 1.8.6
Soap4r 1.5.8
httpclient 2.1.2

This is the application flow:

>> s = SOAP::WSDLDriverFactory.new("https://somesite.com/Service?wsdl").create_rpc_driver

=> #<SOAP::RPC::Driver:#<SOAP::RPC::Proxy:https://somesite.com/
Service>>
>> s.options["protocol.http.basic_auth"] << ["https://somesite.com/Service?wsdl", "user", "pass"]

=> ["https://somesite.com/Service?wsdl", "user", "pass"]

>> s.wiredump_dev = STDOUT
=> #<IO:0x2e7d4>
>> s.getUser('bob')

And this is the result. Notice that authentication stuff doesn't get
sent. I'm not sure what kind of format they should be as, but it's
just not there.

Wire dump:

= Request

! CONNECT TO somesite.com:443
! CONNECTION ESTABLISHED
POST /services/EndUser HTTP/1.1
SOAPAction: ""
Content-Type: text/xml; charset=utf-8
User-Agent: SOAP4R/1.5.8 (/187, ruby 1.8.6 (2007-09-23) [i686-
darwin9.0.0])
Date: Fri, 18 Apr 2008 20:31:29 GMT
Content-Length: 468
Host: somesite.com

<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <env:Body>
    <n1:getUser xmlns:n1="http://enduser.webservice.quotemedia.com"
        env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <userName xsi:type="xsd:string">bob</userName>
    </n1:getUser>
  </env:Body>
</env:Envelope>

= Response

HTTP/1.1 500 Internal Server Error
Server: Resin/2.1.14
Cache-Control: private
Set-Cookie: JSESSIONID=a8a2hMpDf-rf; path=/
Content-Type: text/xml; charset=utf-8
Connection: close
Transfer-Encoding: chunked
Date: Fri, 18 Apr 2008 20:31:29 GMT

1a5
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <soapenv:Fault>
   <faultcode>soapenv:Server.generalException</faultcode>
   <faultstring>bad credentials</faultstring>
   <detail/>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>
0

! CONNECTION CLOSED

SOAP::FaultError: bad credentials
        from #<SOAP::Mapping::Object:0x3a343fc>

Help please?


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Artem  
View profile
 More options Apr 20, 10:36 am
From: Artem <Artem.Tambovs...@gmail.com>
Date: Sun, 20 Apr 2008 07:36:38 -0700 (PDT)
Local: Sun, Apr 20 2008 10:36 am
Subject: Re: soap4r and basic_auth over ssl
Hi Oleg,

If I remember there was a discussion in this group abous this matter
(try to google int this group about 'property' to find it).
The general idea that you have to specify basic_auth credentials
before SOAP::WSDLDriverFactory object creation.
This could be done by specifying credentials in soap/property file.

client.protocol.http.basic_auth.1.url = https://your.soap.app/url
client.protocol.http.basic_auth.1.userid = xxxxxxxx
client.protocol.http.basic_auth.1.password = yyyyyyyyy

Regards,
Artem

On Apr 19, 12:41 am, "oleg.khaba...@gmail.com"


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
oleg.khabarov@gmail.com  
View profile
 More options Apr 20, 1:04 pm
From: "oleg.khaba...@gmail.com" <oleg.khaba...@gmail.com>
Date: Sun, 20 Apr 2008 10:04:30 -0700 (PDT)
Local: Sun, Apr 20 2008 1:04 pm
Subject: Re: soap4r and basic_auth over ssl
Yes, I needed to append my message. I tried the soap/property file
route as well. It does apply user/pass from what s.options.to_yaml
tells me. However it still doesn't send them over.

This is what i have in my soap/property:

client.protocol.http.ssl_config.ciphers = DEFAULT
client.protocol.http.basic_auth.1.url = https://somesite.com/Webservice
client.protocol.http.basic_auth.1.userid = username
client.protocol.http.basic_auth.1.password = password

Had to pass the ciphers option as well because WSDLDriverFactory.new
would crap out on https:// url. Hopefully that doesn't affect
basic_auth.

On Apr 20, 10:36 am, Artem <Artem.Tambovs...@gmail.com> wrote:


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
rekabutt  
View profile
 More options May 1, 9:52 am
From: rekabutt <rekab...@gmail.com>
Date: Thu, 1 May 2008 06:52:43 -0700 (PDT)
Local: Thurs, May 1 2008 9:52 am
Subject: Re: soap4r and basic_auth over ssl
I was having similar problems recently and got it resolved.  I ended
up using the wsdl2ruby to create a driver.  Then in the client file
adding the ssl and basic auth support.

    obj = ServicesPortType.new(wsdl_url)
    obj.options["protocol.http.ssl_config.verify_mode"] = nil
    obj.options["protocol.http.basic_auth"] << [wsdl_url, username,
password]

I'm aware of the security loss in this case by turning off the ssl
verification, but it got it working for now.  If you do want the ssl
to be on though, you have to do the verification.  I saw some samples
for this on the soap4r site, but never worked on it myself.

I'm not sure what you are trying to connect to, but I ran into an
instance where it wouldn't connect to a php4 service, just php5.  I
never investigated why that was.

Good luck.

On Apr 20, 12:04 pm, "oleg.khaba...@gmail.com"


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
oleg.khabarov@gmail.com  
View profile
 More options May 4, 4:17 pm
From: "oleg.khaba...@gmail.com" <oleg.khaba...@gmail.com>
Date: Sun, 4 May 2008 13:17:46 -0700 (PDT)
Local: Sun, May 4 2008 4:17 pm
Subject: Re: soap4r and basic_auth over ssl
Thanks rekabutt,

I tried doing the "generate stuff with wsdl2ruby" route as you
suggested. Unfortunately result is exactly the same. Basic auth stuff
doesn't get sent at all.

I'm at loss here...

On May 1, 9:52 am, rekabutt <rekab...@gmail.com> wrote:


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google