Разработка веб-служб средствами Java. Ильдар ХабибуллинРазработкаWebслужбсредствами
. Классы-обработчики SOAP- посланий создаются в полном соответствии с правилами JAX-RPC, описан- ными в главе 6. Для ссылки на элемент из другого элемента предназначен необязательный атрибут name. Режим работы класса- обработчика и другие параметры можно задать элементами />, вложенными в элемент . Например: /> Другой часто встречающийся элемент — /> описывает самые разнообразные параметры Web-служб, например, элемент /> содержит пароль администратора. Элементы чаще всего вкла- дываются в элемент , описывающий Web-службу. Например, сле- дующий элемент: /> /> value="*"/> описывает Web-службу AdminService, входящую в состав Axis. Она реализо- вана классом Admin, у которого описан метод AdminService (да-да, имя ме- тода почему-то начинается с заглавной буквы). Второй параметр, с именем запрещает или разрешает удаленное администрирова- ние Web-службы. Это зависит от его значения value. Четвертый параметр, с именем описывает открытые (public) методы класса. Их имена — значение атрибута value — надо перечислять через пробел или запятую. Звездочка означает, что все методы класса открыты. Атрибут provider элемента определяет класс-обработчик SOAP- посланий. Этот класс должен реализовать интерфейс Handler из пакетаJAX-RPC или расширить какой-нибудь из абстрактных классов ИЛИ BasicHandler. Для облегчения ЭТОЙ работы В 172 Разработка Web-служб средствами Java Axis есть расширение класса Класс BasicProvider,
В СВОЮ расширен классом JavaProvider, а у есть расширения И RPCProvider.
Атрибут style
элемента или некоторые значения атрибута provider определяют стиль Web-службы. Процедурный стиль, а он прини- мается ПО умолчанию, записывается Послания процедурного стиля будет обрабатывать класс RPCProvider. Документный стиль записывается как Axis вводит разновидность документного стиля, записываемую как В этом случае при создании метода обработки XML- элемента Axis записывает вложенные в него элементы как аргументы мето- да. Четвертый стиль Web-службы, записываемый как или означает, что Axis будет обрабатывать послание непо- средственно в виде XML, не переводя его в объекты Java. Это выполняется С ПОМОЩЬЮ MsgProvider.Web-услуги описываются элементами . Атрибут name задает имя метода, предоставляющего Web-услугу, атрибут — тип возвра- щаемого значения. Атрибутом можно дать имя возвращаемому значению для ссылок внутри DD-файла. Аргументы метода описываются вложенными элементами . Например: /> В элемент , описывающий Web-службу, обрабатывающую запро- сы, часто вкладываются элементы и Вло- женные в них элементы описывают классы-обработчики, начи- нающие и заканчивающие обработку запроса. Например: http://testservice/ Глава 3. Протокол SOAP и Web Services type="somethingIDefinedPreviously"/> Элемент описывает протокол пересылки SOAP-послания. На- звание протокола указывается атрибутом name. У элемента , описывающего клиента Axis, есть еще один атрибут pivot, задающий класс- отправитель SOAP-послания, например, класс HTTPSender, входящий в со- став Axis. Протокол отправки послания может быть описан так: Два элемента описывают правила сериализации и десериализации сложных типов данных. Элемент класса" класса" класса" /> описывает атрибутом сложный тип данных — класс Java. Атрибу- ты и deserializer задают имена классов, содержащих методы сериализации и десериализации. Например: /> Элемент
Разработка Web-служб средствами Java описывает тип данных, описываемый классом Java, оформленным как
JavaBean. У такого класса есть методы getxxx () и setxxx {), используемые для сложных типов Java в XML стандартными классами Axis,
реализующими
Serializer И Deserializer,
именно,
и
Компоненту JavaBean не нужны спе- циальные классы для сериализации. Например: Service"
В листинге 3.16 приведено полное описание Web-службы администратора
AdminService, входящей в состав Axis.
Листинг 3.16. Конфигурационный файл Web-службы администратора /> value="true" /> /> />