We developed a simple web service (.Net 2.0), authentication works fine when this service is called from an internal test client application - able to to get userid and password from the soap header and authenticate the user. However, when same service is called by a third party, the userid and password are seen as null, although the values are set in the soap header. They use Delphi WSDL Importer Web Service Utility pointed to our wsdl to generate their request. Here is what it looks like:
this is what we expect in the header:
this is what they send us:
Anything obvious in these samples, pointing to the problem? Thanks in advance.
this is what we expect in the header:
Code:
<soap:Envelope xmlns:xsi="[URL unfurl="true"]http://www.w3.org/2001/XMLSchema-instance"[/URL] xmlns:xsd="[URL unfurl="true"]http://www.w3.org/2001/XMLSchema"[/URL] xmlns:soap="[URL unfurl="true"]http://schemas.xmlsoap.org/soap/envelope/">[/URL]
<soap:Header>
<LoginHeader xmlns="[URL unfurl="true"]http://tempuri.org/">[/URL]
<UserId>string</UserId>
<Password>string</Password>
</LoginHeader>
</soap:Header>
this is what they send us:
Code:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="[URL unfurl="true"]http://schemas.xmlsoap.org/soap/envelope/"[/URL] xmlns:xsd="[URL unfurl="true"]http://www.w3.org/2001/XMLSchema"[/URL] xmlns:xsi="[URL unfurl="true"]http://www.w3.org/2001/XMLSchema-instance"[/URL] xmlns:SOAP-ENC="[URL unfurl="true"]http://schemas.xmlsoap.org/soap/encoding/">[/URL]
<SOAP-ENV:Header SOAP-ENV:encodingStyle="[URL unfurl="true"]http://schemas.xmlsoap.org/soap/encoding/"[/URL] xmlns:NS1="[URL unfurl="true"]http://tempuri.org/">[/URL]
<NS1:LoginHeader xsi:type="NS1:LoginHeader">
<UserId xsi:type="xsd:string">user</UserId>
<Password xsi:type="xsd:string">password</Password>
</NS1:LoginHeader>
</SOAP-ENV:Header>
Anything obvious in these samples, pointing to the problem? Thanks in advance.