- --- In soaplite@y..., "KenWilner" <wilner@p...> wrote:
> O.K. this worked great when using uri/proxy. However, it appearsto
> be ignored when using the service method. Furthermore, eventhoughthe
> WSDL document that I set with the service method specifies XMLSchema
> 2001, SOAP::Lite generates messages using messages using XMLSchemabelow.
> 1999 regardless or whether or not I set XMLSchema as indicated
> Any ideas who be greatly appreciated.
I'm replying to this several months after the original message for
the benefit of anyone searching through the archives (as I was doing
when I came upon Duncan Cameron's helpful response to the OP).
To change schema using the service method, you can do something like
the following (mostly copied from the examples in the t/ directory
of the SOAP::Lite source):
my $service = SOAP::Lite
my $soap = shift;
my $res = shift;
ref $res or $soap = shift;
ref $res ? warn(join "\n", "--- SOAP FAULT ---",
$res->faultcode, $res->faultstring, '')
: warn(join "\n", "--- TRANSPORT ERROR ---",
return new SOAP::SOM;
}) or die "Cannot create service. $!";
The real key is the xmlschema() method, of course.