Ошибка при использовании веб-сервиса, тип содержимого «application/xop+xml» не соответствует ожидаемому типу «text/xml»

У меня возникла странная проблема при использовании веб-сервиса для продукта, который купила моя компания.Продукт называется Campaign Commander и производится компанией Email Vision. Мы пытаемся использовать «API SOAP массового обновления данных».

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

Подробная информация об ошибках приведена ниже. Спасибо за любую помощь, которую вы можете предложить.

Ошибка при использовании веб-ссылки (старый клиент веб-службы)

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

Client found response content type of 'multipart/related; type="application/xop+xml"; boundary="uuid:170e63fa-183c-4b18-9364-c62ca545a6e0"; start="<root.message@cxf.apache.org>"; start-info="text/xml"', but expected 'text/xml'.
The request failed with the error message:
--

--uuid:170e63fa-183c-4b18-9364-c62ca545a6e0
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:openApiConnectionResponse xmlns:ns2="http://api.service.apibatchmember.emailvision.com/" xmlns:ns3="http://exceptions.service.apibatchmember.emailvision.com/">
      <return>DpKTe-9swUeOsxhHH9t-uLPeLyg-aa2xk3-aKe9oJ5S9Yymrnuf1FxYnzpaFojsQSkSCbJsZmrZ_d3v2-7Hj</return>
    </ns2:openApiConnectionResponse>
  </soap:Body>
</soap:Envelope>
--uuid:170e63fa-183c-4b18-9364-c62ca545a6e0--
--.

Как вы можете видеть, мыльный конверт ответа выглядит допустимым (это действительный ответ и вызов выполнен успешно ), но у клиента, похоже, возникла проблема с типом содержимого, и он генерирует исключение.

Ошибка при использовании ссылки на службу (Клиент WCF)

Когда я использую службу в качестве ссылки на службу, я получаю ProtocolExceptionдля любого вызова, который я делаю, со следующим сообщением:

The content type multipart/related; type="application/xop+xml"; boundary="uuid:af66440a-012e-4444-8814-895c843de5ec"; start="<root.message@cxf.apache.org>"; start-info="text/xml" of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 648 bytes of the response were: '
--uuid:af66440a-012e-4444-8814-895c843de5ec
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:openApiConnectionResponse xmlns:ns2="http://api.service.apibatchmember.emailvision.com/" xmlns:ns3="http://exceptions.service.apibatchmember.emailvision.com/">
      <return>Dqaqb-MJ9V_eplZ8fPh4tdHUbxM-ZtuZsDG6GalAGZSfSzyxgtuuIxZc3aSsnhI4b0SCbJsZmrZ_d3v2-7G8</return>
    </ns2:openApiConnectionResponse>
  </soap:Body>
</soap:Envelope>
--uuid:af66440a-012e-4444-8814-895c843de5ec--'.

Как и в предыдущем примере ; мы получили действительный ответ мыла, и вызов был успешным, но у клиента, похоже, возникла проблема с типом контента, и он сгенерировал исключение.

Можно ли задать какие-либо параметры, чтобы у клиента не возникало проблем с типом ответа? Я сделал несколько поисков в Google, но пока ничего из того, что я нашел, мне не помогло.

36
задан Reinstate Monica 18 October 2019 в 12:46
поделиться