Я разрабатываю настольное приложение ac # и использую веб-службы, которые разрабатываются в php-приложении, когда я пытаюсь использовать это приложение. Я просто добавляю web REference этого веб-сервиса и пытаюсь получить доступ к следующему коду
WebReference.TestWSDL pdl = new testingApp.WebReference.TestWSDL(); string copy = pdl.verify("testing");
он выдает ошибку, когда я пытаюсь вызвать метод проверки. ошибка
Возможное несоответствие версии SOAP: пространство имен конвертов http://schemas.xmlsoap.org/wsdl/ было неожиданным. Ожидание http://schemas.xmlsoap.org/soap/envelope/ .
и ссылка на веб-службу была похожа на
http://171.139.101.12/code/index.php/webservice/wsdl
Ошибка, с которой вы сталкиваетесь, сообщает вам, что при вызове веб-службы вам предоставляется WSDL (язык определения веб-сервисов) для службы – это метаданные, описывающие функции службы, но фактически не могут использоваться для вызова службы , Обычно вы получаете доступ к WSDL, добавляя в URI службы «? Wsdl» или «wsdl».
В веб-сервисе, который вы пытаетесь использовать, есть два элемента.
Фактическая услуга существует:
http://171.139.101.12/code/index.php/webservice
Здесь описываются метаданные, описывающие его, которые Visual Studio через wsdl.exe используется для создания прокси-сервера:
http://171.139.101.12/code/index.php/webservice/wsdl
Вам необходимо отредактировать свойства веб-ссылки и соответствующим образом обновить адрес. Кроме того, вы можете изменить свойства переменной pdl и изменить конечную точку в коде.