SOAP::Lite client for Axis WS
perhaps I should mention that I'm not a web developer and only
preoccupy myself with the Perl SOAP::Lite toolkit (at least so far)
because I was given the task to write a client for an Axis SOAP server.
As I am somewhat restricted to using Perl
(1st because this language I feel most comfortable with for getting a
nasty job quickly done, and 2nd because the client should run on an
hpux server where there isn't much choice for other bloating SOAP
SOAP::Lite appeared as a natural option.
Because I was provided with a WSDL file of the Axis WS
I prematurely thought this to be a fairly easy job by simply passing
the service() method the local location of my WSDL file's copy.
This soon proved to be a big mistake.
First of all my SOAP::Lite object simply rebuked my WSDL file and died.
Then it took me a whole day to merely tinker up some lousy SOAP
security header that the damned Axis server would accept for
authentication of my client for a rediculous GetVersionRequest.
I only managed this by some wild trial and error of nested and ugly
SOAP::Data constructs, with repetitive tcpdumps of the client server
Here comes my first question.
Is there any easier way to get a dump of the serialized XML displayed,
perhaps by some custom accessor or display method like known from LWP
than the circuitous packet sniffing?
I haven't found mentioning of such in the PODs of SOAP::Lite, nor
SOAP::Data, nor SOAP::Serializer.
In the Perl debugger I could only realize various SOAP::Data objrefs
where I rather would have liked to have seen some XML as would be sent
over the wire.
Now, I am despairing over how to correctly (for the Axis server)
serialize the aggregated object that I am supposed to pass as
parameters to the remote method calls that I am really interested in.
All the sample codes that I have found in various PODs and Howtos only
relate to rather trivial services (e.g. like those temperature
conversions) or concocted services with the emphasis rather on a Perl
SOAP::Lite server if any convoluted data structures are involved at all.
Are there any recipes how to "manually" translate the interface of the
WSDL file into valid XML through SOAP::Data or similar modules?