Веб-служба XML .NET, класс потребления не может получить доступ к классу веб-службы - PullRequest
0 голосов
/ 21 марта 2012

Я создаю простой XML-веб-сервис и столкнулся с чем-то, что я не могу объяснить.

Мой класс веб-сервисов имеет следующую структуру:

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Xml


<System.Web.Services.WebService(Namespace:="http://www.mynamespace.com/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class MyWS
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function HelloName(Byval name as String)
         return String.Concat("Hello",name)
    End Function

End Class

Вызов моего методаИспользование встроенного в VS веб-сервиса тестового жгута работает нормально.

Я создал другой проект в другом решении для тестирования использования веб-службы.Я добавил веб-ссылку в свой проект и настроил ее так, чтобы я мог ссылаться на свой веб-сервис с помощью «localWS».Затем в событии загрузки страницы моего потребляющего класса я попытался создать экземпляр объекта моего веб-сервиса:

Dim srv As New localWS.MyWS

Но не было найдено типа «MyWS».Однако существует класс localWS.MyWSSoapClient.Когда я использую это, я могу вызвать свои веб-методы.У меня вопрос: почему я не могу создать версию класса MyWS?В уроках, которые я читал, и в моей книге примеры использования классов для веб-служб .NET XML могут создавать экземпляры объектов класса веб-служб, которые они потребляют.

В качестве дополнительного теста я добавил новую веб-форму в свой проект веб-службы и оттуда смог создать экземпляр класса MyWS.

Может кто-нибудь сказать мне, почему я не могу создатьMyWS объект в моем коде потребления?MyWSSoapClient эквивалентно?Любой совет будет очень признателен.Спасибо!

1 Ответ

1 голос
/ 21 марта 2012

Класс MyWS является серверной частью вашего клиент-серверного решения. Это не должно быть доступно потребляющей системе (клиенту). Если бы это было так, то не было бы никакой причины выставлять функциональность класса MyWS как веб-службы.

Класс MyWSSoapClient создается из метаданных (WSDL) вашего веб-сервиса при добавлении веб-ссылки. Это класс, который ваш клиент может использовать для общения с вашим веб-сервисом.

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