#web-services #wcf #soap #paypal
#веб-службы #wcf #soap #paypal
Вопрос:
Я пытаюсь обновить существующую систему, чтобы использовать ссылку на веб-службу WCF для своих прокси-классов API SOAP PayPal.
Согласно документации этого API, правильный URL-адрес WSDL выглядит следующим образом:
https://www.paypal.com/wsdl/PayPalSvc.wsdl
Я попытался использовать диалоговое окно добавления ссылки на службу в Visual Studio, а также команду svcutil. Это может быть воспроизведено (для меня) в новом проекте консольного приложения или в любом проекте. Во всех случаях я получаю следующие ошибки.
Произошла ошибка загрузки ‘https://www.paypal.com/wsdl/PayPalSvc.wsdl/_vti_bin/ListData.svc /$метаданные’. Запрос не выполнен со статусом HTTP 404: не найден. Метаданные содержат ссылку, которая не может быть разрешена: ‘https://www.paypal.com/wsdl/PayPalSvc.wsdl «. Тип содержимого text / plain ответного сообщения не соответствует типу содержимого привязки (application / soap xml; charset= utf-8). При использовании пользовательского кодировщика убедитесь, что метод IsContentTypeSupported реализован правильно. Первые 1024 байта ответа были:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
ns:version="204.0"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
(removed the rest of the beginning of the wsdl file)
Я не понимаю, почему существуют неразрешенные ссылки или почему несоответствие типа контента может привести к сбою процесса.
Любые идеи или даже обмен вашими результатами воспроизведения были бы полезны.
Ответ №1:
Существует 3 XSD, на которые ссылается WSDL, которые доступны по следующим URL-адресам-
Загрузите WSDL и 3 xsd в локальную папку на вашем компьютере и добавьте ссылку на эту локальную копию WSDL. Это должно работать
Комментарии:
1. Работает как шарм, спасибо. Теперь мне нужно решить остальные 6 проблем, с которыми сталкивается API SOAP PayPal 🙂