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


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)

Setting HTTP Timeouts for a SOAP client

The HTTP layer is abstracted away from the developer in SOAP::Lite. But knowing a few simple things about how SOAP::Lite was written can help open up a lot of functionality. For example, many users are not clear about how to set the HTTP timeout for a given request. Let's take a look at some sample code that allows a user to do this:
my $soap = SOAP::Lite ->uri($uri) ->proxy($proxyUrl, timeout => 5 ); print "timeout: ".$soap->proxy->timeout."\n"; $soap->proxy->timeout(100); print "timeout: ".$soap->proxy->timeout."\n"; print $soap->c2f(SOAP::Data->name('temperature' => 100));
This code works because SOAP::Lite->proxy returns an instance of the current transport layer/client. And in SOAP::Lite, the HTTP client transport layer (SOAP::Transport::HTTP::Client class) extends LWP::UserAgent. Therefore, all methods available in LWP::UserAgent are also available to users of SOAP::Lite's SOAP::Transport::HTTP::Client class. Which includes the timeout subroutine.

October 08, 2004 in Transport | Permalink | Comments (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...