Главная » Java, Web, XML » Инструменты создания описаний WSDL

0

Описание WSDL написано в листинге 2.6 вручную. Однако строгость описания позволяет автоматизировать этот процесс. Многие инструментальные средства создания Web-служб содержат утилиты, которые автоматически создают WSDL-файлы, описывающие готовые Web-службы. Например, уже упоминавшееся средство создания Web-служб Apache Axis содержит в своем, составе класс Java2WSDL, создающий WSDL-файл по классу или интерфейсу Java. Пакет IBM WSTK, в состав которого входит Axis, содержит утилиту java2wsdl, создающую объект этого класса и работающую из командной строки. Достаточно набрать в командной строке

$ java2wsdl MeteoService

и будет создан файл MeteoService.wsdl, содержащий по одному элементу <portType> для каждого открытого метода класса, указанного в командной строке.

Интересно, что Axis может выполнить и обратное действие: по имеющемуся WSDL-файлу класс wsDL2java создаст все классы Java, необходимые для работы Web-службы. В пакете IBM WSTK класс wsDL2java можно вызвать из командной строки утилитой         Например:

$wsdl2java MeteoService.wsdl

Такие же утилиты есть в составе уже упоминавшегося продукта GLUE фирмы The Mind Electric.

Пакет Microsoft SOAP Toolkit содержит графическую утилиту wsdlgen3. exe, вызываемую из стартового меню WSDL Generator, и утилиту командной строки wsdlstb3. exe, которые создают WSDL-файлы.

Фирма Sun Microsystems готовит к выпуску пакет интерфейсов JWSDL (Java API for WSDL), преобразующих описание WSDL в классы Java и обратно. Это позволяет программно создавать, изменять, читать описания WSDL. Фирма IBM уже реализовала этот пакет в своем продукте WSTK, назвав набор интерфейсов и реализующих их классов WSDL4J (WSDL for Java). Этот набор можно использовать в составе WSTK или отдельно, загрузив его с сайта http://www-124.ibm.com/deveIoperworks/projects/wsdl4j/.

Самое ценное в описаниях WSDL то, что клиент Web-службы может обратиться не к ней самой, а к ее WSDL-описанию. В состав GLUE входит утилита командной строки invoke, обращающаяся к Web-службе по ее WSDL- описанию. Например, достаточно набрать в командной строке:

$ invoke http://www.meteo.com:8080/services/MeteoService.wsdl Гадюкино — и на консоли появится прогноз

Фирма IBM выпускает пакет классов WSIF (Web Services Invocation Framework), работающий в Web-контейнере Tomcat под управлением Apache SOAP. С помощью этого пакета можно, в частности, сделать ту же работу:

$ java clients.DynamicInvoker \

http://www.meteo.com:8080/services/MeteoService.wsdl \ getweatherForecast Гадюкино

Напомним, что обратная наклонная черта здесь означает продолжение командной строки на следующую строку текста.

После этого на консоли появляются сообщения WSIF и прогноз погоды.

Литература:

Хабибуллин И. Ш. Разработка Web-служб средствами Java. — СПб.: БХВ-Петербург, 2003. — 400 с: ил.

По теме:

  • Комментарии