gstewart has asked for the wisdom of the Perl Monks concerning the following question:

Any guidance on working around the server error:

Transport identified SOAP version does not match with SOAP message version

For the following HTTP request:
POST /services/fwif/ HTTP/1.1 TE: deflate,gzip;q=0.3 Connection: TE, close Accept: text/xml Accept: multipart/* Accept: application/soap Host: 10.1.2.3 User-Agent: SOAP::Lite/Perl/0.715 Content-Length: 716 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://endace.com/ninjaprobe/VersionQuery" <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:wsaw="http: +//www.w3.org/2006/05/addressing/wsdl" xmlns:wsp="http://schemas.xmlso +ap.org/ws/2004/09/policy" soap:encodingStyle="http://schemas.xmlsoap. +org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/ +" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www +.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoa +p.org/soap/encoding/" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-s +ecuritypolicy/200702" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xm +lns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ens="http://enda +ce.com/ninjaprobe/"><soap:Body><ens:VersionQuery xsi:nil="true" /></s +oap:Body></soap:Envelope>
all generated via the following script:
my $soap = SOAP::Lite ->service('https://10.1.2.3/services/fwif?wsdl') ->VersionQuery();
With thanks,

Replies are listed 'Best First'.
Re: SOAP::Lite and WSDL
by runrig (Abbot) on Aug 23, 2012 at 16:29 UTC
      Ok, still having some issues, for example:
      use XML::Compile::WSDL11; # use WSDL version 1.1 use XML::Compile::SOAP11; # use SOAP version 1.1 use XML::Compile::Transport::SOAPHTTP; use LWP::UserAgent; my $browser = LWP::UserAgent->new(); my $wsdl_data = $browser->get("https://10.220.226.30/services/fwif?wsd +l"); my $schema_data = $browser->get("https://10.220.226.30/services/ninjap +robe.xsd"); my $wsdl = XML::Compile::WSDL11->new($wsdl_data->content); $wsdl->importDefinitions($schema_data->content); my $call = $wsdl->compileCalls;
      returns, a bunch of errors:
      Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in join or string at /Library/Perl/5.12/XML +/Compile/Translate/Writer.pm line 514. Use of uninitialized value in subroutine entry at /Library/Perl/5.12/X +ML/Compile/Translate/Template.pm line 241.
      thnaks for responding!
        I haven't had any such problems (yet), so I can't help. Maybe a problem with the wsdl or xsd? XML::Compile has a mailing list and IRC channel, so you might ask for help there, though I would try and debug a bit first, trying to get a simple test case and compile only the functions you need (or a single function for testing).