Почтальон HTTP Status 400 - почему?

Я хочу использовать веб-сервис SOAP из Dynamics NAV 2013 R2 через
http://servername:7047/DynamicsNAV71/WS/CRONUS%20AG/Codeunit/WSInterface

Я могу посетить эту страницу только через Chrome, и он запрашивает у меня учетные данные (которые верны и работают).
Если я вошел в Crome и запустил Postman, я могу использовать его:

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>

и получите в ответ код состояния 200 OK.

Как только я закрываю браузер Chrome и снова отправляю запрос, я получаю статус 401 (неавторизован), поэтому добавляю заголовок авторизации. После этого я получаю статус 400 со следующими заголовками:

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>

Ничего не изменилось, кроме заголовка авторизации, так почему я получаю статус 400? Кто-нибудь может помочь? Если я вошел в систему с Chrome, заголовок авторизации не имеет значения, отправлен или нет ...


person IVIike    schedule 12.09.2017    source источник


Ответы (1)


Аутентификация NTLM не поддерживается почтальоном, вы можете использовать Fiddler или браузер Chrome для аутентификации. https://github.com/postmanlabs/postman-app-support/issues/1137

person Shubham Singh    schedule 12.09.2017
comment
на вкладке «Авторизация» у меня просто есть: No Auth, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, Hawk Authentication, AWS Signature, так что ничего с NTLM - но авторизация работает! - person IVIike; 12.09.2017
comment
Аутентификация NTLM не поддерживается почтальоном, вы можете использовать Fiddler или браузер Chrome для аутентификации. Но использование его в качестве ключа в заголовке создаст неверный запрос. - person Shubham Singh; 12.09.2017
comment
Я могу снять отметку с настройки navision, чтобы использовать NTLM, а затем запросить через Negotiate, но также получить статус 400. Обычная проверка подлинности не работала вообще ... - person IVIike; 12.09.2017