почему PUT выдает ошибку 400 из OSB, но работает от Postman? - PullRequest
1 голос
/ 01 мая 2020

У меня есть приложение osb для переноса данных в Rest API.

Когда я попробовал это в Postman, оно работает нормально, как вы видите ниже

Тело запроса выглядит примерно так:

<entitlement xmlns:sal="http://xmlns.oracle.com/pcbpel/adapter/db/top/SalesOrderDetails" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <productKey>
    <Item>
      <enforcementIdentifier>
        <enforcementName>string</enforcementName>
        <enforcementVersion>string</enforcementVersion>
      </enforcementIdentifier>
      <totalQuantity>string</totalQuantity>
      <availableQuantity>string</availableQuantity>
      <product>
        <productIdentifier>
          <prdExternalId>string</prdExternalId>
        </productIdentifier>
      </product>
    </Item>
  </productKey>
</entitlement>

Но при попытке PUT через служебную шину oracle я получаю ошибку ниже.

<ns1:ResponseCode>400</ns1:ResponseCode>
         <ns1:Status>bad request</ns1:Status>

Я использую те же заголовки и URL-адрес API, что и в почтальоне. Тело запроса также такое же.

Что может происходить не так?

Примечание: GET работает нормально

1 Ответ

0 голосов
/ 07 мая 2020

Обычно для сервера нет разницы в том, какой клиент вызывает конечную точку.

Если вы получаете разные ответы, может быть проблема с данными, которые вы отправляете на сервер. главная причина - отправляющие заголовки, которые сервер не сможет анализировать.

, кроме получения 4 ** ошибок, происходит из запроса клиента. для получения дополнительной информации об ошибках:

enter image description here

проверьте Тип контекста: текст / обычный, как вы установили это в запросе почтальона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...