Postman HTTP Status 400 - why?

927 views Asked by At

I want to consume a SOAP Webservice from Dynamics NAV 2013 R2 via
http://servername:7047/DynamicsNAV71/WS/CRONUS%20AG/Codeunit/WSInterface

I can visit this page only via Chrome and it asks me for credentials (which are correct and working).
If I'm logged with Crome and start Postman I'm able to consume it:

POST /DynamicsNAV71/WS/CRONUS%20AG/Codeunit/WSInterface HTTP/1.1
Host: servername:7047
Content-Type: text/xml
SOAPAction: urn:microsoft-dynamics-schemas/codeunit/WSInterface:Process
Cache-Control: no-cache
Postman-Token: 5e640ab7-d0af-a098-0665-da4fa281f892

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsin="urn:microsoft-dynamics-schemas/codeunit/WSInterface">
   <soapenv:Header/>
   <soapenv:Body>
       <wsin:Process>
           <wsin:request>INPUT</wsin:request>
           <wsin:response>FAKE_RESPONSE</wsin:response>
       </wsin:Process>
   </soapenv:Body>
</soapenv:Envelope>

and get statuscode 200 OK as response.

As soon, as I close the Chrome browser and send the request again I get the Status 401 (Unauthorized), so I add the Authorization header. After that I get the Status 400 with following headers:

POST /DynamicsNAV71/WS/CRONUS%20AG/Codeunit/WSInterface HTTP/1.1
Host: servername:7047
Content-Type: text/xml
SOAPAction: urn:microsoft-dynamics-schemas/codeunit/WSInterface:Process
Authorization: NTLM YWNhbVxncnU6Z3J1MTIzNA==
Cache-Control: no-cache
Postman-Token: 595777b7-5183-38d3-d49b-6bc5d4e3d30e

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsin="urn:microsoft-dynamics-schemas/codeunit/WSInterface">
   <soapenv:Header/>
       <soapenv:Body>
            <wsin:Process>
                <wsin:request>INPUT</wsin:request>
                <wsin:response>FAKE_RESPONSE</wsin:response>
            </wsin:Process>
       </soapenv:Body>
</soapenv:Envelope>

Nothing changed beside the Authorization header, so why do I get the Status 400? Can somebody help? If I'm logged in with Chrome the Authorization header doesn't matter if sent or not...

1

There are 1 answers

3
Shubham Singh On

NTLM authentication is not supported by postman, you can use Fiddler or your chrome browser for authentication. https://github.com/postmanlabs/postman-app-support/issues/1137