Клиентское приложение C# не может использовать tomtom connect webservice

Я должен написать приложение для Windows на C#, которое может использовать указанный веб-сервис. Я использую VS2010 с.Net 4

Я добавил ссылку на сервис, и код компилируется без ошибок, но когда я запускаю его, я получаю ProtocolException с текстом:

Тип содержимого "multipart/related; type="application/xop+xml"; border ="----=_Part_0_159582014.1283501395804"; start=""; start-info="application/soap+xml"" из ответ не соответствует привязке (application/soap+xml; charset=utf-8)

Когда я пробую это с примером VB, предоставленным разработчиками веб-сервиса, все работает отлично.

Я полностью потерян здесь, гуглил со вчерашнего дня, ничего не придумал... Кто-нибудь знает, в чем проблема?

3 ответа

Решение

Хорошо, наконец, понял это.

Вам необходимо вручную отредактировать файл app.config вашего приложения и изменить все вхождения "textMessageEncoding" на "motmMessageEncoding", что и поможет.

Нет motmMessageEncoding -> mtomMessageEncoding

Вы должны убедиться, что ваше приложение поддерживает MTOM. Это требует изменения вашего app.config. Более подробную информацию можно найти здесь:

http://www.tomtomwork.com/en/webfleet/connect/blog.xml - прокрутите вниз до раздела "Обновленный пример Visual Basic теперь также использует SOAP"

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

Другие вопросы по тегам