Как я могу получить доступ к файлу WSDL 1.1 из ASP.NET 3.5 - PullRequest
0 голосов
/ 31 марта 2010

У меня есть файл WSDL 1.1, который описывает мою веб-службу. Теперь мне нужно получить доступ к его методам с использованием ASP.NET 3.5

Я пытался использовать утилиту wsdl.exe, но думаю, что эта утилита использует только формат WSDL 2.0.

Ответы [ 3 ]

0 голосов
/ 01 апреля 2010

Я установил .NET Framework 1.1 и SDK 1.1. Я подумал, что это может помочь мне, потому что .NET 1.1 работает с WSDL 1.1 (SDK 1.1 и WSDL 1.1 просто совпадение, это не значит, что SDK 1.1 для WSDL 1.1 и / или SDK 2.0 для WSDL 2.0) У меня есть сообщение об ошибке сохранения в случае использования wsdl.exe из SDK 2.0

Сообщение об ошибке звучит так: Ошибка: атрибут элемента не разрешен для кодированных частей сообщения. Ошибочная часть называется «result» в сообщении «PurchaseResponse».

Часть кода:

<message name='PurchaseResponse'>
    <part name='result' element='xsd:string'/>
</message>
0 голосов
/ 06 апреля 2010

Нет разницы между WSDL 1.1 и WSDL 2.0 для wsdl.exe. У меня просто ошибка в файле .wsdl. Этот код:

<message name='PurchaseResponse'>
    <part name='result' element='xsd:string'/>
</message>

Должно быть:

<message name='PurchaseResponse'>
    <part name='result' type='xsd:string'/>
</message>
0 голосов
/ 31 марта 2010

Предполагается, что вы используете VS 2008 Щелкните правой кнопкой мыши на папке ссылок в вашем проекте Выберите «Добавить веб-ссылку ...» Введите URL вашего веб-сервиса В текстовое поле имени веб-ссылки введите, как вы хотите на него ссылаться. Так для инвентаря Расширение типа «Инвентарь».

Для создания объекта в коде вы должны использовать Inventory.ProductSoapClient client = new Inventory.ProductSoapClient ()

Для вызова метода в вашем веб-сервисе client.Method ();

...