Soap project. RubyCLR vs Jruby vs Soap4r?

So I have a couple of weeks to write an application that will
integrate with a soap based web service. Unfortunately I have some
challenges and very little experience with soap, although I can
probably figure things out ok once I decide which platform I’m going
to use, which is where I’m at now. Also, I’d much prefer to do this
in linux/bsd if I can, with windows as a last option.

First I tried using wsdl2ruby on the supplied wsdl file which didn’t
work. Not surprising, but that means if I use soap4r I’m going to
have to do everything from scratch, and I’m really not sure what that
all entails. One other thing, the soap client has to support cookies,
as the server uses 3 cookies for session management once
authentication is done. I saw one http-access2 comment about using
cookies on the net, but that was it.

Then I took a look at using .net. There is rubyclr which appears to
work only on windows and not with mono. Ironpython which doesn’t have
most of the standard python library, and python.net which works fine
on windows but has issues on linux with mono.

Finally I’m looking at jruby and using it with something like apache
axis, which the webservice vendor say’s is known to work. I’ve pretty
much ruled this one out as I’m not a java guru and I really hate using
those bloated apache frameworks.

And I also took a look at soaplite in perl. Not a bad option IMO and
it’s around second on my list right now after soap4r.

Any comments or suggestions?

XFire: http://xfire.codehaus.org/ is an alternative to Apache Axis for
Java if you want to reconsider the JRuby route. Though, at least on
the client side, I don’t think Axis is particularly “bloated”. I
haven’t got any experience with soap4r to tell whether it’s worth it
to use JRuby or not for your case…

-Stephen

snacktime wrote:

So I have a couple of weeks to write an application that will
integrate with a soap based web service. Unfortunately I have some
challenges and very little experience with soap, although I can
probably figure things out ok once I decide which platform I’m going
to use, which is where I’m at now. Also, I’d much prefer to do this
in linux/bsd if I can, with windows as a last option.
Hmmm … you have very little experience with SOAP, yet you’ve accepted
an assignment/made a commitment to use it to “write an application that
will integrate with a soap based web service” in “a couple of weeks”.
Does anyone on this list have a non-technical comment on the situation
here? :slight_smile:

most of the standard python library, and python.net which works fine
Any comments or suggestions?

  1. Take a deep breath
  2. Write down what the application must do, and when.
  3. Pick a technology that you know will accomplish that. Pick the
    simplest thing that can do the job.
  4. Get it done!
  5. Come back here and tell us all how you did it, even if it had nothing
    to do with Ruby. :slight_smile:

Good luck … and stay agile. :slight_smile:


M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given
rabbits fire.

I found it faster and easier to write soap clients with soap4r than Java
with Axis even though there is better documentaion for AXIS.

On Nov 19, 2006, at 5:22 PM, snacktime wrote:

And I also took a look at soaplite in perl. Not a bad option IMO and
it’s around second on my list right now after soap4r.

I have limited experience with soap4r, but my current assessment is
that it only works well if you can get it to read your wsdl file, and
that there are still some problems with that. I’ve used it to work
with the SOAP interface on a United Devices GridMP server, and found
that only the bleeding-edge code would work at all with that WSDL
file. And, the documentation and diagnostics are still a little rough.

On the other hand, SOAP::Lite is a great Perl module. I started
using it before it supported WSDL, but if you’re accessing an RPC-
style service, I found you really don’t need the WSDL; SOAP::Lite is
very good about mapping argument lists to Perl structures and back.
It’s also far better documented than soap4r at this point.

Tom

Soap4r is a nice package for working with SOAP in Ruby. I used it for
creating a client app that automatically pulls precious metal commodity
pricing and then it turn updates an internal app’s retail pricing
formulas. You are right on target, in that if your client app will
require cookies you will have to use http-access2 rather than basic
net/http. I haven’t used other services such as .Net, Perl, Python for
building SOAP client apps but I can’t imagine that they would be as
clean, concise, and elegant as Ruby. But then again I might be biased
since Ruby is my language of choice :wink: