SOAP::Lite for Perl

SOAP::Lite for Perl is a collection of Perl modules which provides a simple and lightweight interface to the Simple Object Access Protocol (SOAP, also known as Service Oriented Access Protocol) both on client and server side.

Documentation

  • Support
  • Mailing Lists
  • Installation
  • SOAP cookbook
  • Quick Start Guide with SOAP and SOAP::Lite
  • man pages

Mailing Lists

  • Developers
  • Announcements
  • Users

Project Links

  • Bugs
  • SF.net Project Page
  • CVS

Recommended Books

  • Randy J. Ray: Programming Web Services with Perl

    Randy J. Ray: Programming Web Services with Perl
    An excellent introduction to Web services, and to SOAP, XML-RPC and more. The reference in the back is an indespensible resource.

Donate


"SOAP::Sanity" - a guide for building complex data types

Paul has written a good guide of how to encode complex data structures and schemas in SOAP::Lite.

Byrne and others have posted some good stuff (see for example the majordojo soaplite archive and this hands-on tour at builder.com), but mostly you'll find the experiences shared go along lines like "...after hacking around for a bit, I found that this worked...".

February 11, 2007 in Code Samples | Permalink | Comments (7)

An improved HTTP Daemon?

I spent some time this weekend going through SOAP::Lite bugs, and I am so impressed with the S::L developer community! Almost all of the bugs contain patches of some kind. I can't tell you how wonderful it is (as the developer on a project like this) to have your users essentially doing your job for you! So thank you.

But that is not the point of this post. In one of the bugs a user, Michael Douglass to be exact, submitted what appears to be an improved implementation of SOAP::Transport::HTTP::Daemon. I am not ready to include the code in 0.65, but thought I would share it with the community and see if I can't get it to endorse it somehow so that I might include it in a later release.

I will test it eventually, but I am focusing on 0.65_3 right now and don't have the bandwidth for new features like this. Furthermore, I tend to avoid writing an HTTP daemon in Perl when I can use Apache for free. I would be curious to know why so many SOAP::Lite developers like using their own home grown HTTP daemon when there are so many good free ones available. Anyone care to shed some light on this?

March 27, 2005 in Code Samples | Permalink | Comments (2)

Unlocking 0.65: Direct access to the HTTP::Request and HTTP::Response objects

I had no idea what I was getting myself into when I said I would take the reigns of the SOAP::Lite project. SOAP::Lite is an extensive module that feels like it grew quite organically. It is infused with some of the most creative Perl I have ever seen, and it took me two years of sporadic and at times intense development to even begin to unravel and make sense of the code. As a result, most SOAP::Lite releases have focused on areas of code which I was already intimately familiar, i.e. the MIME section, or with relatively minor bug fixes. But with 0.65 I pledged to tackle some of the issues that have long frustrated me. Over the next couple of weeks I will introduce a series of articles that explores some of the enhancements I have made to SOAP::Lite 0.65.

Continue reading "Unlocking 0.65: Direct access to the HTTP::Request and HTTP::Response objects" »

March 10, 2005 in Code Samples, Documentation, Transport | Permalink | Comments (1)

Intercepting the request and/or response before and after processing

A common question in the SOAP::Lite Newsgroup is about intercepting the request prior to handling, and the response prior to it being returned. SOAP::Lite v0.65 enables this on the client side pretty easily using the http_request and http_response methods on SOAP::Transport::HTTP::Client, but the server side is still a relative black art. I have friends who have used SOAP::Trace to log, or write to a file, the SOAP payload, but that is not entirely sufficient for all their needs. In future versions, SOAP::Lite will introduce the concept of handler chains, similar to Java Servlets, but for now, one still needs to do a little more work. The following code sample shows how one can extend SOAP::Transport::HTTP:CGI to intercept both the HTTP request and the HTTP response prior to it being processed and/or returned respectively.

Continue reading "Intercepting the request and/or response before and after processing" »

October 09, 2004 in Code Samples, Documentation, Transport | Permalink | Comments (3)

Persisting SOAP Headers

Well behaved SOAP services must persist and proxy SOAP headers not addressed to them. Unfortunately, SOAP::Lite does not do this for you automatically, so you must do it yourself. You can find a a little write up on how here.

December 18, 2003 in Code Samples | Permalink | Comments (0) | TrackBack (0)

SOAP::Lite and Salesforce Applications

I recently participated at Salesforce's dreamForce conference teaching developers about how to use SOAP::Lite to call Salesforce's new APIs. The code samples and modules I created for them can now be found at Sourceforce. The code samples were derived from the code generated by wsdl2perl, an ongoing development effort that aims to make WS programming even easier using Perl.

December 17, 2003 in Code Samples | Permalink | Comments (0) | TrackBack (0)

Don't Hate the Ads

Recent Comments

  • Samia on Support
  • Philoctetes on Installation Instructions
  • star trek gold on Intercepting the request and/or response before and after processing
  • shan on Parsing a result object from SOAP::Lite
  • Benjamin on Installation Instructions
  • Tim Collins on Installation Instructions
  • loki on Support
  • loki on Support
  • loki on Installation Instructions
  • Robert Ngo on Support

Recent Posts

  • SOAP-Lite 0.70_xx pre-releases
  • "SOAP::Sanity" - a guide for building complex data types
  • State of the SOAP
  • Announcing SOAP::Lite 0.67
  • Documentation gets a face lift!
  • Bowing to pressure, Byrne releases SOAP::Lite 0.66
  • Support for HTTP 1.1's Expect: 100-Continue
  • SOAP::Lite 0.65 Beta 6 released!
  • 0.65_5 Released - Critical update for XMLRPC users

Categories

  • Books
  • Clients
  • Code Samples
  • Complex Types
  • Composition
  • Documentation
  • Interoperability
  • News and Announcements
  • Parsing
  • Servers
  • Transport
Subscribe to this blog's feed
Add me to your TypePad People list
Blog powered by TypePad

Archives

  • March 2008
  • February 2008
  • February 2007
  • January 2007
  • January 2006
  • December 2005
  • October 2005
  • June 2005
  • May 2005
  • April 2005

More...