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


How to Persist SOAP Headers in SOAP::Lite

I discovered recently that SOAP::Lite isn't necessary well-behaved when it comes to conforming to SOAP intermediary requirements. According to the spec, SOAP services must ignore headers not addressed to them and must pass them along untouched in any response they deliver. Now most developers don't need to worry about this because this capability is only relevant to people invoking SOAP intermediaries. However, at Grand Central where I work, we use SOAP intermediaries all the time; in one scenario, we were calling a Web Service I built using Perl, but it did not persist SOAP Headers properly. So, I wrote some code to address the problem, and now it works as the SOAP spec requires.

Continue reading "How to Persist SOAP Headers in SOAP::Lite" »

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

How do you turnoff the blasted c-gensym elements?

This is a simple answer addressed in an article I wrote for Builder.com entitled A Hands On Tour of SOAP::Lite. The answer is also answered, albeit indirectly, in a previous post about complex types. The secret is properly escaping the SOAP::Data element like so: \SOAP::Data. I know, it is not very intuitive. :-(

August 12, 2003 in Composition | Permalink | Comments (1)

How to add multiple namespaces to an element

For those with really complicated XML elements that need to have multiple namespace declarations - possibly because some out of scope XML attributes need to be declared - can rest assured that there is an easy way to do it. It is not as automatic as the traditional SOAP::Lite->uri() method, but it works just the same...

Continue reading "How to add multiple namespaces to an element" »

July 29, 2003 in Composition | Permalink | Comments (1)

Composing messages with raw XML...

I was faced with the dilemna of having an XML document that I had scraped from a web page that I wanted to encode into a SOAP Envelope, but I couldn't figure out how to do it, so I asked the SOAP::Lite mailing list (a long time ago) and got my answer. And since several others (including this one, and this one) have asked the same question. Since the question is so popular - here is how you do it...

Continue reading "Composing messages with raw XML..." »

May 20, 2003 in Composition | Permalink | Comments (2)

Override the root element of the response

Last week I showed how to override the root element of a request, but did not show a way to do the same thing for the root element of a response. So, read on if you would like to know how to modify the response's namespace, namespace prefix, encoding style, etc. It is not very intuitive, or pretty for that matter, but at least it is relatively simple.

Continue reading "Override the root element of the response" »

April 30, 2003 in Composition | Permalink | Comments (0)

How To Specify Multiple Namespaces

Someone asked on the SOAP::Lite message board about how to specify multiple namespaces in a request. The following little code snippet answers that question. The trick is using the SOAP::Data->attr() subroutine...

Continue reading "How To Specify Multiple Namespaces" »

April 29, 2003 in Composition | Permalink | Comments (0)

How do you modify the root element of a request?

SOAP::Lite's API allows you to call remote Web service operations easily within your code. Simply instantiate an instance of a service, and execute (or call) the remote method directly from your service instance. For example, a call might look like "$soap->myMethod(arguments)." However, while this convention makes for a nice API, by calling the method in this way you give up control over the attributes of the root SOAP Body element. So how do you change the namespace, the prefix, or attributes of the root element?

Continue reading "How do you modify the root element of a request?" »

April 24, 2003 in Composition | 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...