# Soap project. RubyCLR vs Jruby vs Soap4r?

**URL:** <https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542>\
**Category:** Ruby\
**Created:** [November 20, 2006, 2:45pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542 "2006-11-20T14:45:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [November 20, 2006, 2:45pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542/1 "2006-11-20T14:45:51Z")

</div>

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](http://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?

---

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [November 20, 2006, 2:46pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542/2 "2006-11-20T14:46:01Z")

</div>

XFire: [http://xfire.codehaus.org/](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

---

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [November 20, 2006, 2:46pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542/3 "2006-11-20T14:46:03Z")

</div>

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

> most of the standard python library, and [python.net](http://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. 🙂

Good luck … and stay agile. 🙂

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

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

---

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [November 20, 2006, 2:46pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542/4 "2006-11-20T14:46:03Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [November 20, 2006, 2:59pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542/5 "2006-11-20T14:59:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![snacktime](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/7feea3/32.png) [@snacktime](https://www.ruby-forum.com/u/snacktime)\
**Post date:** [November 20, 2006, 8:41pm UTC](https://www.ruby-forum.com/t/soap-project-rubyclr-vs-jruby-vs-soap4r/76542/6 "2006-11-20T20:41:55Z")

</div>

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 😉
