C # WSDL прокси методы - PullRequest
       4

C # WSDL прокси методы

3 голосов
/ 28 сентября 2010

Мне нужно использовать веб-сервис SOAP от клиента C # .Net 4.0. Я добавил WSDL в качестве справочника услуг в VS 2008 и теперь могу видеть типы XML в виде классов, чтобы я мог создать сообщение SOAP.

Порт WSDL определен как интерфейс, и две операции, определенные в WSDL (UploadMessage и ValidateMessage), являются видимыми методами.

Как вы на самом деле используете эти методы? Я думал, что Порт будет доступен как класс, чтобы вы могли напрямую вызывать методы, и VS создал бы соответствующий код для отправки SOAP-сообщения, но похоже, что вы должны написать код для этих методов. Это верно?

Я гуглил это, но не могу найти простой пример с использованием .Net 4.0; - (

Ответы [ 2 ]

2 голосов
/ 28 сентября 2010

Когда вы добавляете свой сервис, используя Add Service Reference, у вас должно появиться новое пространство имен (которое вы определили в диалоговом окне Add Service Reference - нижний левый угол).

alt text

Внутри этого пространства имен должен быть класс, называемый чем-то вроде (yourservicename)Client.

Если вы не можете его найти, откройте узел Service References в обозревателе решений Visual Studio и найдите кнопку Show All Files на маленькой панели инструментов обозревателя решений - щелкните по ней, чтобы увидеть все файлы.

alt text

В справочнике по службам на нескольких узлах вы найдете файл с именем Reference.cs, который содержит классы кода, сгенерированные из вашего WSDL.

alt text

В этом Reference.cs вы должны найти свой класс клиента. Это обычный класс, который вы можете создавать в своем коде и вызывать методы. Это вызовет методы веб-службы на том удаленном сервере, к которому вы хотите подключиться.

1 голос
/ 28 сентября 2010

Обычно справочник услуг создает класс с именем [ServiceName]Client, который реализует интерфейс, который вы упомянули.

Создайте его, затем вызовите операции.

Гораздо важнее, чем получитьКлиент и вызов его будут вашей конфигурацией, которая будет зависеть от сервиса. Эта статья поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...