You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Martin Moss <ma...@btopenworld.com> on 2007/03/01 12:02:33 UTC

SOAP

All,

It's been a while since I've posted, but I have a new
project which has a SOAP interface. I have limited
experience with SOAP, so I was wondering if there is a
consensus of opinion as to what the best modules to
use are?

Effectively I'll be simply posting strings of SOAP XML
to a webpage... But eventually we may use SOAP to pass
data around between Classes. Although I'm not sure if
this would be overkill.

Any hints/advice would be much appreciated..

Marty


		
___________________________________________________________ 
What kind of emailer are you? Find out today - get a free analysis of your email personality. Take the quiz at the Yahoo! Mail Championship. 
http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk 

Re: SOAP

Posted by Martin Moss <ma...@btopenworld.com>.
Cheers Perrin :-)


--- Perrin Harkins <ph...@gmail.com> wrote:

> On 3/1/07, Martin Moss <ma...@btopenworld.com>
> wrote:
> > It's been a while since I've posted, but I have a
> new
> > project which has a SOAP interface. I have limited
> > experience with SOAP, so I was wondering if there
> is a
> > consensus of opinion as to what the best modules
> to
> > use are?
> 
> I think SOAP::Lite is the only game in town.
> 
> - Perrin
> 



	
	
		
___________________________________________________________ 
New Yahoo! Mail is the ultimate force in competitive emailing. Find out more at the Yahoo! Mail Championships. Plus: play games and win prizes. 
http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk 

Re: SOAP

Posted by Perrin Harkins <ph...@gmail.com>.
On 3/1/07, Martin Moss <ma...@btopenworld.com> wrote:
> It's been a while since I've posted, but I have a new
> project which has a SOAP interface. I have limited
> experience with SOAP, so I was wondering if there is a
> consensus of opinion as to what the best modules to
> use are?

I think SOAP::Lite is the only game in town.

- Perrin

Re: SOAP

Posted by Jonathan Vanasco <jv...@2xlp.com>.
On Mar 1, 2007, at 12:12 PM, Drew Wilson wrote:

> FWIW - JSON and SOAP are separate choices.

of course.   but from the description, it seems like JSON might be an  
easier fit for the task.


> When I identified this serialization as a problem here at work and  
> commented that JSON::Syck is a much faster serializer (its written  
> in C), someone in our group came up with notion of serializing  
> results in JSON and then sending that back in a SOAP response  
> ("envelope"). This workaround makes my skin crawl. Its a band-aid.

That sounds awful if you need those results in SOAP.  but wrapping a  
JSON doc in SOAP for transport doesn't seem all that bad of an idea.   
SOAP is great for transport.  JSON is great for interchange.  At  
least thats what I think



// Jonathan Vanasco

| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - -
| FindMeOn.com - The cure for Multiple Web Personality Disorder
| Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - -
| RoadSound.com - Tools For Bands, Stuff For Fans
| Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - -



Re: SOAP

Posted by Drew Wilson <am...@apple.com>.
FWIW - JSON and SOAP are separate choices.

SOAP is an RPC protocol, typically using http, whose messages are  
serialized in XML.

JSON is just a serialization format. However, it is often used w/  
http requests (i.e. REST) to implement RPC.

We use SOAP::Lite extensively in our build & information systems and  
I've been using it at various jobs for several years.

SOAP::Lite was great when it first emerged but has not gotten a lot  
of care over the past few years and is now showing its age. It  
doesn't support any of the new SOAP technologies (e.g. automatic WSDL  
generation like axis) or support for WS-Security.

But the primary problem I've had with SOAP::LIte is the slow  
serialization of large results into XML. (SOAP::Lite's XML  
deserializer and serializer are written in perl and inefficient.  
Aside from the perl XML parsing, SOAP::Lite also converts the entire  
result into an in-memory XML document which is then sent back to the  
client.

When I identified this serialization as a problem here at work and  
commented that JSON::Syck is a much faster serializer (its written in  
C), someone in our group came up with notion of serializing results  
in JSON and then sending that back in a SOAP response ("envelope").  
This workaround makes my skin crawl. Its a band-aid.

Someone needs to make write a mod_perl handler to handle SOAP  
efficiently. In particular, I'd like a solution that can stream  
results back for batch-oriented RPC calls. Before SOAP::Lite, I wrote  
a mod_perl handler that did this, but I tossed it for the convenience  
of SOAP::Lite. But I've been thinking of dusting it off recently once  
I get the time. If anybody else has any interest or questions, please  
let me know.

Drew

On Mar 1, 2007, at 6:53 AM, Jonathan Vanasco wrote:

>
> On Mar 1, 2007, at 6:02 AM, Martin Moss wrote:
>
>> Effectively I'll be simply posting strings of SOAP XML
>> to a webpage... But eventually we may use SOAP to pass
>> data around between Classes. Although I'm not sure if
>> this would be overkill.
>>
>> Any hints/advice would be much appreciated..
>
> Have you considered using JSON ?  It might be easier for your  
> needs.  JSON::Syck works great with modperl, many perl modules  
> support object init from YAML ( which is json compatible ), and a  
> lot of the js frameworks support object init from JSON too ( I like  
> MochiKit )
>
>
>
>
> // Jonathan Vanasco
>
> | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
> - - - - - - - - - - - - - - - - - - - -
> | SyndiClick.com
> | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
> - - - - - - - - - - - - - - - - - - - -
> |      FindMeOn.com - The cure for Multiple Web Personality Disorder
> |      Web Identity Management and 3D Social Networking
> | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
> - - - - - - - - - - - - - - - - - - - -
> |      RoadSound.com - Tools For Bands, Stuff For Fans
> |      Collaborative Online Management And Syndication Tools
> | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
> - - - - - - - - - - - - - - - - - - - -
>
>


Re: SOAP

Posted by Jonathan Vanasco <jv...@2xlp.com>.
On Mar 1, 2007, at 6:02 AM, Martin Moss wrote:

> Effectively I'll be simply posting strings of SOAP XML
> to a webpage... But eventually we may use SOAP to pass
> data around between Classes. Although I'm not sure if
> this would be overkill.
>
> Any hints/advice would be much appreciated..

Have you considered using JSON ?  It might be easier for your needs.   
JSON::Syck works great with modperl, many perl modules support object  
init from YAML ( which is json compatible ), and a lot of the js  
frameworks support object init from JSON too ( I like MochiKit )




// Jonathan Vanasco

| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - - - - -
| SyndiClick.com
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - - - - -
|      FindMeOn.com - The cure for Multiple Web Personality Disorder
|      Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - - - - -
|      RoadSound.com - Tools For Bands, Stuff For Fans
|      Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
- - - - - - - - - - - - - - - - - - -



Re: SOAP

Posted by Perrin Harkins <ph...@gmail.com>.
On 3/1/07, John ORourke <jo...@o-rourke.org> wrote:
> I'm with Perrin, SOAP::Lite is the one.

I should point out that I'm not endorsing SOAP::Lite.  It's just that
there literally are no other choices, AFAIK.

- Perrin

Re: SOAP

Posted by John ORourke <jo...@o-rourke.org>.
Martin Moss wrote:
> It's been a while since I've posted, but I have a new
> project which has a SOAP interface. I have limited
> experience with SOAP, so I was wondering if there is a
> consensus of opinion as to what the best modules to
> use are?
>   
I'm with Perrin, SOAP::Lite is the one.  I've successfully built a 
SOAP::Lite server that works with a C# .NET client - it was tricky but 
works well now.  The hardest thing was writing a WSDL file - Pod::WSDL 
isn't complete enough for most purposes and .NET couldn't stomach its 
output.  In the end we wrote a dummy service in .NET and used the 
generated WSDL, then made sure the Perl complied with that.

> to a webpage... But eventually we may use SOAP to pass
> data around between Classes. Although I'm not sure if
> this would be overkill.
>   
If the classes are all in the same process, it's more than overkill!  
SOAP is for standards-based platform independent method calls between 
remote systems, and it does that very well.

If the client and server support it, you could look at the 
lighter-weight JSON or YAML as Jonathan suggested, but I would avoid 
those if you don't have control of both client and server software.



John