Главная » Java, Web, XML » Конфигурационный файл JAX-RPC

0

У третьего конфигурационного файла, который мы назвали JAX-RPC- файлом, нет определенного имени, обычно его имя складывается из имени порта и слова "Mapping". Этот файл хранится в одном каталоге с WSDL- файлом, то есть, в каталоге WEB-INF или в каталоге META-INF.

В самом простом случае, когда WSDL-файл описывает только один элемент <wsdl: service> с одним вложенным элементом <wsdl:port>, в каждый элемент                             вложен только один элемент                            и не

больше одного элемента <wsdl :output>, используются только типы WSDL и значения по умолчанию и так далее, в этом случае в корневом элементе <java-wsdl-mapping> обязательны ТШЬКО элементы <package-mapping>.

Элемент <package-mapping> связывает пакет Java, указанный во вложенном элементе <package-type>, с идентификатором пространства имен, определенным в WSDL-файле. Идентификатор указывается во вложенном элементе

В остальных случаях в корневой элемент                                       надо обяза

тельно вложить по одному элементу                                             для каждого

типа, введенного в WSDL-файле, по одному элементу <exception-mapping> для каждого WSDL-элемента <wsdl: fault> и по одному элементу <service- interface-mapping> — для каждого нестандартного WSDL-элемента <wsdl:services Кроме ТОГО, надо ВЛОЖИТЬ ПО ОДЮМУ Элементу <service- endpoint-interface-mapping> для каждой комбинации WSDL-элементов <wsdl:portType> И <wsdl:binding>.

В листинге 7.12 приведена полная схема конфигурационного JAX-RPC-файла. 1 Листинг7.12. Структура конфигурационного файла Java-WSDL-Mapping

<java-wsdl-mapping id="">

<package-mapping id=""> [+]

<package-type id-""> <namespaceURI id-""> </package-mapping>

<java-xml-type-mapping id-""> [*]

<class-type id-""> <root-type-qname id-""> cnarnespaceURI id-""> <localpart id-""> </root-type-qname> <qname-scope id-""> <variable-mapping id==""> [*] < j ava-variable-name id-"" > <data-member id-""> [?] <xml-element-name id-""> </variable-mapping> </j ava-xml-type-mapping>

<exception-mapping id-""> [*] <exception-type id-""> <wsdl-message id-"">

<namespaceURI id-""> <localpart> </wsdl-message>

<constructor-parameter-order> [?] <element-name> [+]

</constructGr-parameter-Grder> </exceptiGn-mapping>

<service-interface-mapping id-""> [?] <service-interface id-""> <wsdl-service-name id-"">

<port-mapping id-""> [*] <port-name id-""> <java-port-name id-"">

</port-mapping> </service-interface-mapping>

<service-endpoint-interface-mapping id=""> [+] <service-endpoint-interface id-"">

<wsdl-port-type id=""> <namespaceURI id="" > <localpart id=""> </wsdl-port-type>

<wsdl-binding id="">

<namespaceURI id=""> <localpart> </wsdl-binding>

<service-endpoint-method-mapping id=""> [*] <java-method-name id=""> <wsdl-operation id=""> <method-param-parts-mapping id=""> [*] <param-position id=""> <param-type id=""> <wsdl-message-mapping id=""> <wsdl-message id=""> <wsdl-message-part-name id=""> <parameter-mode id=""> <soap-header id=""> [?] </wsdl-message-mapping> </method-param-parts-mapping> <wsdl-return-value-mapping id=""> <method-return-value id=""> <wsdl-message id=""> <wsdl-message-part-name id=""> </wsdl-return-value-mapping> </service-endpoint-method-mapping> </service-endpoint-interface-mapping>

</java-wsdl-mapping>

В листинге 7.13 приведен JAX-RPC-файл Web-службы "HelloService". Его имя HelloMapping.xml.

Листинг 7.13. Конфигурационный JAX-RPC-файл Web-службы "helloService"

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE java-wsdl-mapping public

"-//IBM Corporation, Inc. //DTD J2EE JAX-RPC mapping 1.0//EN" "http: //www. ibm. com/webservices/dtd/ j 2ee_j axrpc_mapping_l__0. dtd">

<j ava-wsdl-:mapping>

<package-mapping>

<package-type>hello</package-type> <namespaceURI>myservices.hello</namespaceURI>

</package-mapping>

</j ava-wsdl-mapping>

Литература:

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

По теме:

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