Подключение к неизвестному веб-сервису SOAP - PullRequest
0 голосов
/ 22 июля 2010

Я хотел бы создать приложение на C #, которое подключается к веб-службе Apache AXIS и выполняет следующие операции через SOAP.

  1. Вход на сервер.
  2. POSTстроковые данные на сервер
  3. Получение и отображение ответа сервера

Вот сложная часть.У меня нет доступа к серверу, и я не знаю, где находится файл .JWS на сервере.Мне удалось получить доступ к файлу WSDL в моем веб-браузере, поэтому я знаю, что существует операция «Вход в систему», а также операция для получения данных.

Я попытался получить доступ к веб-службе через URL, ноЯ продолжаю получать это сообщение:

Привет, это служба AXIS!

Возможно, здесь будет форма для вызова службы ...

Итак, могу ли я в любом случае подключиться к этому веб-сервису, если у меня есть только URL-адрес файла WSDL?Доступны ли веб-службы по URL-адресу?

Спасибо

Ответы [ 3 ]

1 голос
/ 22 июля 2010

Используйте WCF и создайте клиентские прокси-серверы для веб-службы с помощью инструмента svcutil.exe .

запуск svcutil.exe http://url.to/webservice?WSDL the_wsdl.wsdl /language:C# должен сгенерировать прокси-классы, которые вы можете использовать в своем проекте C #, и вы бы позвонили в службу, например, как

  BasicHttpBinding myBinding = new BasicHttpBinding(); //might not even need these
                    // 2 lines if you ran svcutil.exe directly on the web service URL
  EndpointAddress myEndpoint = new EndpointAddress("http://url.to/webservice");
  TestClient client = new TestClient(myBinding,myEndpoint); //the generated classes
                                                            // svcutil.exe created
  client.SomeOperation(42); // call an SomeOperation of the web service 
1 голос
/ 26 июля 2010

Спасибо всем за помощь.Оглядываясь назад на этот вопрос, я вижу, насколько сильно я был сбит с толку.Вот решение, которому я следовал.

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

  1. Загрузите Visual Studio
  2. На верхней панели инструментов перейдите в «Данные» -> «Добавить новый источник данных», затем выберите «Сервис» в новом диалоговом окне
  3. . В адресной строке введите URL-адрес wsdl-файла (ПРИМЕР: http://server.com/services/displayName?wsdl)
  4. В нижней части диалогового окна измените пространство имен на что-то относящееся к проекту (ПРИМЕР: sampleService)
  5. Теперь Visual Studio должна скомпилировать клиентские прокси для вас, которые вы можете использовать дляполучить доступ к веб-службам на вашем сервере. Чтобы получить доступ к одной из служб, все, что вам нужно сделать, это создать новый объект из класса.

        //Example
        sampleService.ClassName test = new sampleService.ClassName();
    
           test.displayName("Jack");
    
0 голосов
/ 22 июля 2010

См. http://msdn.microsoft.com/en-us/library/bb552364.aspx для начальной точки

...