Erro ao consumir webservice, o tipo de conteúdo “application / xop + xml” não corresponde ao tipo esperado “text / xml”
Estou tendo um problema estranho ao consumir um webservice de um produto que minha empresa comprou. O produto é chamado de Campaign Commander e é feito por uma empresa chamada Email Vision. Estamos tentando usar a "API de SOAP de atualização de dados em massa".
Sempre que tento chamar qualquer um dos métodos no serviço da web, a chamada realmente é bem-sucedida, mas o cliente falha ao processar a resposta e eu recebo uma exceção.
Os detalhes dos erros estão abaixo, obrigado por qualquer ajuda que vocês possam oferecer.
Erro ao usar a Referência da Web (cliente de webservice de estilo antigo)Quando consumir o serviço como uma referência da Web, recebo umInvalidOperationException
para qualquer chamada que eu faça, com a seguinte mensagem:
<code>Client found response content type of 'multipart/related; type="application/xop+xml"; boundary="uuid:170e63fa-183c-4b18-9364-c62ca545a6e0"; start="<[email protected]>"; 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: <[email protected]> <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-- --. </code>
Como você pode ver, o envelope de sabão de resposta parece válido (essa é uma resposta válida e a chamada foi bem-sucedida), mas o cliente parece ter um problema com o tipo de conteúdo e gera uma exceção.
Erro ao usar a referência de serviço (cliente do WCF)Quando eu consome o serviço como uma Referência de Serviço, recebo umProtocolException
para qualquer chamada que eu faça, com a seguinte mensagem:
<code>The content type multipart/related; type="application/xop+xml"; boundary="uuid:af66440a-012e-4444-8814-895c843de5ec"; start="<[email protected]>"; 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: <[email protected]> <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--'. </code>
Assim como no exemplo anterior; temos uma resposta de sabão válida e a chamada foi bem-sucedida, mas o cliente parece ter um problema com o tipo de conteúdo e gerou uma exceção.
Há alguma opção que eu possa definir para que o cliente não tenha um problema com o tipo de resposta? Fiz algumas pesquisas no Google, mas nada do que encontrei me ajudou até agora.