P
pfconrey
I am trying to access a .NET web service using both a Perl (SOAP::Lite)
client and .NET Web Service Studio. The call from Web Service Studio
works as expected, but the call from Perl fails.
Here is the soap envelope sent by Web Service Studio:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SessionGetValue xmlns="http://MyCompany.com/Security">
<SessionID>abcdef123</SessionID>
<ValueName>userid</ValueName>
</SessionGetValue>
</soap:Body>
</soap:Envelope>
And here is the envelope sent by SOAP::Lite:
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:SessionGetValue xmlns:ns1="http://MyCompany.com/Security">
<SessionID xsi:type="xsd:string">abcdef123</SessionID>
<ValueName xsi:type="xsd:string">USERID</ValueName>
</ns1:SessionGetValue>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Other than trivial differnces, the look functionally the same to me.
The error returned by the web service is:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>
Server was unable to process request.
--> SessionGet
--> Object reference not set to an instance of an object.
</faultstring>
<detail />
</soap:Fault>
Because of the error text (looks like a logic error on the ASP.NET
side), I'm inclined to think this is not a problem on my (the Perl)
side, but the fact that it works for a .NET client concerns me.
Does anyone have any insight into this?
client and .NET Web Service Studio. The call from Web Service Studio
works as expected, but the call from Perl fails.
Here is the soap envelope sent by Web Service Studio:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SessionGetValue xmlns="http://MyCompany.com/Security">
<SessionID>abcdef123</SessionID>
<ValueName>userid</ValueName>
</SessionGetValue>
</soap:Body>
</soap:Envelope>
And here is the envelope sent by SOAP::Lite:
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:SessionGetValue xmlns:ns1="http://MyCompany.com/Security">
<SessionID xsi:type="xsd:string">abcdef123</SessionID>
<ValueName xsi:type="xsd:string">USERID</ValueName>
</ns1:SessionGetValue>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Other than trivial differnces, the look functionally the same to me.
The error returned by the web service is:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>
Server was unable to process request.
--> SessionGet
--> Object reference not set to an instance of an object.
</faultstring>
<detail />
</soap:Fault>
Because of the error text (looks like a logic error on the ASP.NET
side), I'm inclined to think this is not a problem on my (the Perl)
side, but the fact that it works for a .NET client concerns me.
Does anyone have any insight into this?