Получение изображения из службы SOAP приводит к появлению ProtocolException
Я пытаюсь получить доступ к сервису SOAP, который возвращает изображение для запроса. Тип содержимого: image / png. Теперь я получаю следующее ProtocolException при вызове метода:
Тип содержимого image / png ответного сообщения не соответствует типу содержимого привязки (text/xml; charset=utf-8). При использовании пользовательского кодировщика убедитесь, что метод IsContentTypeSupported реализован правильно. Первые 1024 байта ответа были:
После этого следует несколько байтов, которые, вероятно, принадлежат изображению.
Я сгенерировал сервисную ссылку, используя диалог VS 2012 "Добавить сервисную ссылку". Я нашел несколько похожих вопросов, однако ни один из них, похоже, не был нацелен на получение изображения из службы.
Как я могу изменить тип содержимого моей привязки?
Редактировать: добавлен WSDL здесь: http://pastebin.com/NRvJfstU, я пытаюсь вызвать операцию 'GetChannelIcon'
- / Guide /xsd? Type= Программа: http://pastebin.com/mF8N35Hm
- / Guide /xsd? Type= ProgramGuide: http://pastebin.com/rxscA3uT
- / Guide /xsd? Type= ArrayOfChannelInfo & name = ChannelInfo: http://pastebin.com/sRJmQp3R
- / Guide /xsd? Type= ChannelInfo: http://pastebin.com/3Y3StCEW
- / Guide /xsd? Type=ArrayOfProgram&name= Программа: http://pastebin.com/sPaywD2J
- / Guide /xsd? Type= ArtworkInfoList: http://pastebin.com/24bLSiKg
- / Guide /xsd? Type= ArrayOfArtworkInfo & name = ArtworkInfo: http://pastebin.com/HDjFvNFR
- / Руководство /xsd? Type= ArtworkInfo: http://pastebin.com/0YMWMWig
Я думаю это все
2 ответа
В итоге я использовал обычный WebRequest для получения изображения.
Запросы и ответы на службу SOAP должны быть в SOAP. То есть это должен быть XML.
Вы можете закодировать ваше изображение в возвращенном XML как base64.