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