Soap project. RubyCLR vs Jruby vs Soap4r?

S

snacktime

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?
 
S

Stephen Duncan

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
 
M

M. Edward (Ed) Borasky

snacktime said:
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? :)
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?
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. :)

Good luck ... and stay agile. :)
 
T

Tom Pollard

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
 
G

gregarican

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 ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,562
Members
45,038
Latest member
OrderProperKetocapsules

Latest Threads

Top