Hello,
I'm trying to specify the Soap version to use with the
function "soapversion" in my WebService client.
I'm using the following code snippet:
my $wsStub = SOAP::Lite
->uri('myUri')
->proxy(PROXY_URL)
->soapversion('1.1');
When executing the client I get the following error
message:
Wrong SOAP version specified. Supported versions:
1 (http://www.w3.org/2003/05/soap-envelope)
I also tried
...
->soapversion(1.1);
which leads to the same result.
I use SOAP:Lite 0.65_6.
regards
Jochen Schwoerer
Logged In: YES
user_id=1373480
I have found the same problem. It appears that the
"xmlns:soap" that is defined in the wsdl is used in the
request envelope instead of one defined for the soap version
in SOAP::Lite.
In my case, the "soap" namespace was defined in the server's
wsdl file as:
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
and that is the namespace that was included in the envelope
(generated by SOAP::Lite) of the request.
Logged In: YES
user_id=884175
Originator: NO
The soap version used is the one used in the binding - if the SOAP1.2 namespace is used in the binding, then it's perfectly OK to use SOAP1.2 to submit that request.
More difficult are WSDL definitions, where both SOAP1.1 and SOAP1.2 ports are defined - then stubmaker (or the SOAP::Schema backend) should allow to select one port.