This section provides a tutorial example on how to install SOAP::Lite 0.710.08 on Windows system using Perl Package Manager. SOAP::Lite 0.710 supports SOAP 1.2 with soapversion('1.2') function.
After finishing testing with SOAP 1.1, I want to try SOAP 1.2 with SOAP::Lite
for the same GetSpeech Web service provided by xmlme.com.
The first thing is to verify my SOAP::Lite version and make sure it supports SOAP 1.2.
1. Checking my Perl version:
\herong>perl -version
This is perl, v5.8.8 built for MSWin32-x86-multi-thread
(with 50 registered patches, see perl -V for more detail)
Copyright 1987-2006, Larry Wall
Binary build 820 [274739] provided by ActiveState
http://www.ActiveState.com
Built Jan 23 2007 15:57:46
2. Looking at SOAP::Lite manual at
C:\local\Perl\html\lib\SOAP\Lite.html. It does not mentioning SOAP 1.2:
SOAP::Lite - Client and server side SOAP implementation
...
DESCRIPTION
SOAP::Lite is a collection of Perl modules which provides a simple
and lightweight interface to the Simple Object Access Protocol (SOAP)
both on client and server side.
This version of SOAP::Lite supports the SOAP 1.1 specification
( http://www.w3.org/TR/SOAP ).
The main features of the library are:
* Supports SOAP 1.1 spec.
...
3. May be there is a new version of SOAP::Lite that will support SOAP 1.2.
Let me check the current version of SOAP::Lite on my machine with the "\local\perl\bin\ppm" command.
The "Perl Package Manager" GUI shows up:
4. PPM tells me that I am using SOAP::Lite 0.55-r1 and
SOAP::Lite 0.710.08 is available. So I click Action > Install SOAP-Lite 0.710.08.
PPM gives this warning: "Installing SOAP-Lite-0.710.08 would downgrade
SOAP::Transport::HTTP from version 0.55 to 0,
SOAP::Transport::TCP from 0.55 to 0,
XMLRPC::Transport::TCP from 0.55 to 0".
5. PPM also gives me a list of other modules
that SOAP::Lite depends on. They are: MIME::tools, version,
FCGI, MIME::Lite, IO-stringy, MailTools, File::Temp,
Email-Date-Format, MIME-Type, TimeDate, Test-Pod,
Pod-Simple, Pod-Escape. These modules will be installed or upgraded if
I upgrade SOAP::Lite to 0.710.08.
6. I click File > Run Marked Actions and click OK to accept 13 additional
prerequisite packages listed above. After a few minutes, SOAP::Lite 0.710.08
and other packages are installed.
7. Looking at SOAP::Lite manual again at
C:\local\Perl\html\site\lib\SOAP\Lite.html
It does have a new function that allows you use SOAP 1.2:
soapversion(optional value)
$client->soapversion('1.2');
If no parameter is given, returns the current version of SOAP that
is being used by the client object to encode requests. If a
parameter is given, the method attempts to set that as the version
of SOAP being used.
The value should be either 1.1 or 1.2.
Looks like I have the right version of SOAP::Lite to do SOAP 1.2 programming.