Создание веб-службы ASMX из файла WSDL



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



Я создал клиенты с использованием файлов WSDL, которые используют существующую службу, но я никогда не создавал веб-службу, которая должна была следовать определенному WSDL.



Я дошел до использования:



wsdl.exe mywsdl.wsdl /l:VB /serverInterface



теперь у меня есть .VB файл, созданный из этого WSDL. Однако я не уверен, что я должен делать с этим файлом глаг. Похоже, у него есть публика интерфейс есть, но нет класса, который реализует интерфейс. Он также имеет кучу разделяемых классов для типов в WSDL.



Я ожидал, что там будет какой-то заглушка, где я вставил код для завершения вызовов службы. Раньше я создавал только простые веб-сервисы, и ни один из них не использовал общедоступные интерфейсы, поэтому я не знаком с тем, что здесь происходит.



на данный момент я не уверен, как я использую сгенерированный .VB файл и заставить его работать с собой .asmx и какое дополнительное кодирование необходимо для завершения интерфейса.

821   2  

2 ответов:

Если вы уже создали интерфейсы, вам нужно реализовать эти интерфейсы.
Просто создайте новый веб-сервис и добавьте созданный интерфейс, чтобы он унаследовал этот интерфейс. Visual Studio может автоматически создавать заглушки для каждого метода в интерфейсе. Отметьте их атрибутом WebMethod и поместите некоторый код, который вернет некоторые тестовые данные/результаты.

Если вы получили inteface (с некоторыми другими атрибутами, которые были автоматически сгенерированы:


public interface IRealWebService
{
    string GetName();

}

вы следует сделать новый сервис:


public class WebTestService : System.Web.Services.WebService, IRealWebService
{

    #region IRealWebService Members

    [WebMethod]
    public string GetName()
    {
        return "It Works !!!!";
    }
    #endregion
}

все, что вам нужно сделать, это создать класс, который наследует от интерфейса, который WSDL.EXE сгенерировал, а затем реализовал методы из интерфейса.

Comments

    Ничего не найдено.