SOAP and SSL

Hello,

I tried asking this question before and nobody replies, so I’m going to
try again. I am presently writing a SOAP client on an embedded linux
device using Ruby. Ruby and all its libraries and such fit and work
just fine, even if it takes ruby 10 seconds to start executing. The
SOAP functions also work flawlessly. The php web service we set up
communictes just fine. The SSL stuff also works just fine. My problem
is that I can’t seem to combine the SSL and the SOAP. Encrypting the
SOAP envelopes is a must, and since I’m using http SSL seems to be the
way.

The SOAP library seems to operate on a level or two above the http
client, so in order to get SSL working I would have to re-write, or at
least edit the soap stuff. I’ve got ruby 1.8.0 running on my build
machine and 1.8.1 running on the embedded device. I noticed that in
netHttpClient.rb and in streamHandler.rb in the soap library directory
that there is some ssl stuff, but only in 1.8.1 and not in 1.8.0. That
tells me that there is some way to do SSL with SOAP that was recently
added, I’m thinking it is implemented on the low level, but not in
driver.rb where I need it yet.

Am I going to have to wait for 1.8.2 to get encrypted SOAP, or is there
a way to turn it on with some other magic? I tried just setting the URL
to https://, but that didn’t do it.

Thanks,
Scott

In article 40741DD6.7090202@fsisys.com,

Hello,

I tried asking this question before and nobody replies, so I’m going to
try again. I am presently writing a SOAP client on an embedded linux
device using Ruby. Ruby and all its libraries and such fit and work
just fine, even if it takes ruby 10 seconds to start executing. The
SOAP functions also work flawlessly. The php web service we set up
communictes just fine. The SSL stuff also works just fine. My problem
is that I can’t seem to combine the SSL and the SOAP. Encrypting the
SOAP envelopes is a must, and since I’m using http SSL seems to be the
way.

The SOAP library seems to operate on a level or two above the http
client, so in order to get SSL working I would have to re-write, or at
least edit the soap stuff. I’ve got ruby 1.8.0 running on my build
machine and 1.8.1 running on the embedded device. I noticed that in
netHttpClient.rb and in streamHandler.rb in the soap library directory
that there is some ssl stuff, but only in 1.8.1 and not in 1.8.0. That
tells me that there is some way to do SSL with SOAP that was recently
added, I’m thinking it is implemented on the low level, but not in
driver.rb where I need it yet.

Am I going to have to wait for 1.8.2 to get encrypted SOAP, or is there
a way to turn it on with some other magic? I tried just setting the URL
to https://, but that didn’t do it.

I noticed your post about this the other day and I was really hoping that
someone would reply as I’m about to run into the same issue in a month or
two - I’ll need to get SOAP running over SSL as well.

Has anyone successfully done this?

BTW: What if you install 1.8.1 on your build machine so that both sides
are using 1.8.1? Perhaps that new code in netHttpClient.rb &
streamHandler.rb would make a difference?

Phil

···

Scott Rubin srubin@fsisys.com wrote:

Hi,

I’m the man who must respond.

From: “Scott Rubin” srubin@fsisys.com
Sent: Thursday, April 08, 2004 12:27 AM

I tried asking this question before and nobody replies, so I’m going to
try again.

Sorry for not responding long time. I keep your mail
in my “must respond” mailbox and… was spending time for RAA.

is that I can’t seem to combine the SSL and the SOAP. Encrypting the
SOAP envelopes is a must, and since I’m using http SSL seems to be the
way.

Agreed. XML Encryption, XML Signiture and XML canon*2 is
still on my ToDo list. (I hope someone delete this instead of me…).
Ssh portforwarding or OpenSSL are the answer in Ruby for now.

machine and 1.8.1 running on the embedded device. I noticed that in
netHttpClient.rb and in streamHandler.rb in the soap library directory
that there is some ssl stuff, but only in 1.8.1 and not in 1.8.0. That
tells me that there is some way to do SSL with SOAP that was recently
added, I’m thinking it is implemented on the low level, but not in
driver.rb where I need it yet.

Yes. Integrating SOAP with SSL is still in progress.
You can see “set_ssl_config” which just raises an exception in
ruby-1.8.1. No easy way(through driver.rb) to do for now.

Current status is: implemented and commited in soap4r CVS at
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/lib/soap4r/
but not tested well. I tried to write soap4r + ssl test code, then
I found I must write http-access2 + ssl test code, then I wrote it,
and forgot everything. sigh.

Under the CVS code, you can define SSL configure option in
property file. I’ll write a test of soap4r + ssl after new RAA
launching.

WARN: soap4r + ssl only runs with http-access2, not net/https.rb.

Regards,
// NaHi

Hi,

From: “NAKAMURA, Hiroshi” nahi@keynauts.com
Sent: Thursday, April 08, 2004 2:46 PM

Under the CVS code, you can define SSL configure option in
property file. I’ll write a test of soap4r + ssl after new RAA
launching.

Added SOAP over SSL client/server sample at
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/lib/soap4r/sample/soap/ssl/
It requires CVS version of soap4r at
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/lib/soap4r/

Regards,
// NaHi