Можно ли создать клиент веб-службы исключительно из файла wsdl? - PullRequest
0 голосов
/ 30 июля 2010

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

Мне было интересно, вся ли информация, необходимая для аутентификации и вызова запросовсодержится в файле WSDL (и, следовательно, автоматически сгенерированный код)?Или я должен также знать код веб-службы?

Любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 10 августа 2010

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

Хорошо написанный WSDL должен иметь разумные имена методов и параметров, так чтосгенерированные клиентские привязки более или менее говорят сами за себя.Через атрибут <annotation><documentation></documentation></annotation> необходимо добавить комментарии, чтобы устранить любые неоднозначности.Другими словами, думайте о WSDL, как о странице API JavaDoc.Вам не нужно заботиться о том, что находится внутри черного ящика, лишь бы вы знали, что вам нужно вставить и что вы получите из него.

Что касается механизмов аутентификации, то здесь действительно дваРассмотрим следующие случаи: аутентификация на уровне веб-службы и аутентификация на уровне сервера приложений.

На уровне сервера приложений (например, Tomcat или GlassFish) WSDL не будет указывать используемый метод аутентификации (потому что WSDLнаходится на уровне выше сервера приложений).В этом случае вы можете попробовать отладку, открыв файл WSDL в браузере (или, возможно, попытайтесь вызвать службу в SoapUI ) и посмотреть, что вам нужно для аутентификации.

В сетиНа уровне обслуживания механизм безопасности должен быть описан в WSDL.Мне неизвестны какие-либо IDE, которые могут автоматически распознавать механизм аутентификации, описанный в WSDL, а затем запрашивать то, что вам нужно предоставить (хотя я действительно использую только NetBeans).Однако вы должны быть в состоянии решить это - либо изучив WSDL, либо просмотрев сообщения об ошибках, которые выдает ваш клиент веб-службы, когда вы пытаетесь получить доступ к защищенному ресурсу.

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

Файл WSDL не содержит информации о порядке вызова определенных функций (если таковые имеются). Так что, на мой взгляд, всегда должна быть дополнительная документация.

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