Web-службы JAX-RPC |
|
|
![]() |
|
Настройка и запуск | Комментарии | Javadoc | Компоновка с помощью Ant |
Настройка примера |
Запуск примера |
Клиенты AddressBook представлены в двух версиях - для Java 2 Standard Edition (J2SE) и Java 2 Enterprise Edition (J2EE), управляемой контейнером. Для применения всех возможностей контейнеров J2EE выберите вторую.
Для настройки примера установите приложение, демонстрирующее применение Web-служб JAX-RPC, на сервере. Инструкции приведены в разделе Перекомпоновка и развертывание файла WebServicesSamples.ear.
Перед запуском примера необходимо убедиться в том, что сервер для его выполнения запущен.
Клиенты AddressBook представлены в двух версиях - внешняя для J2SE и Java 2 Enterprise Edition (J2EE), управляемой контейнером. Каждый из них использует четыре варианта bean-объекта Web-службы AddressBook. Bean-объекты AddressBook возвращают фиксированное значение и не требуют соединения с Internet.
Запуск клиента AddressBook для J2SE |
Запуск клиента AddressBook для J2EE |
В клиенте AddressBook для J2SE демонстрируется запрос адреса у bean-объекта Web-службы AddressBook. Его исходный код находится в каталоге каталог-профайла/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.
При запуске AddressBookClient в текущем каталоге должен присутствовать файл AddressBook.wsdl. Распакуйте файл AddressBook.wsdl из архива simpleClients.jar в каталог, в котором будет запускаться пример. Архив simpleClients.jar находится в каталоге install_root/samples/lib/WebServicesSamples.
Клиент J2SE дважды проходит по всем bean-объектам Web-службы AddressBook на сервере. При первом проходе вызывается метод getPort для выделения уникальных портов для всех bean-объектов EJB демонстрационного приложения. Для каждого порта вызывается метод getAddressFromName. Второй проход начинается произвольно с одного из портов, затем для каждой из четырех возможных конечных точек задается адрес конечной точки портов. Для каждого порта вызывается метод getAddressFromName.
Общие инструкции по запуску клиента WebSphere содержатся в разделе о разработке простого клиента в InfoCenter.
Для запуска клиента J2SE AddressBook из WebSphere Application Server выполните следующие действия, в зависимости от используемой операционной системы:
C:\>"%JAVA_HOME%\bin\java" %WAS_LOGGING% -classpath "%WAS_CLASSPATH%;%WAS_HOME%\samples\lib\WebServicesSamples\simpleClients.jar;%WAS_HOME%\runtimes\com.ibm.ws.webservices.thinclient_7.0.0.jar" samples.address.AddressBookClient >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JE >> Response is: 1 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WE >> Response is: 2 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WB >> Response is: 3 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JB >> Response is: 4 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> >> Get port AddressBookJ2WB >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookW2JE/services/AddressBook >> Querying address for 'Purdue Boilermaker' >> Response is: 1 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookJ2WE/services/AddressBook >> Querying address for 'Purdue Boilermaker' >> Response is: 2 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookJ2WB/services/AddressBook >> Querying address for 'Purdue Boilermaker' >> Response is: 3 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookW2JB/services/AddressBook >> Querying address for 'Purdue Boilermaker' >> Response is: 4 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 |
Версия клиента AddressBook для J2EE аналогична простой для J2SE. Она принимает такие же bean-объекты Web-службы AddressBook, но из контейнера J2EE с помощью команды launchClient.
Клиент J2EE проходит по всем bean-объектам Web-службы AddressBook на сервере. Для поиска службы AddressBook используется команда lookup JNDI, в для выделения уникальных портов для каждого из четырех bean-объектов AddressBook вызывается метод getport. Для каждого порта вызывается метод getAddressFromName.
В инструкциях ниже установочный-каталог следует заменить на каталог установки WebSphere.
Для запуска клиента J2EE AddressBook из WebSphere Application Server выполните следующие действия, в зависимости от используемой операционной системы:
C:\WebSphere\AppServer\samples>\WebSphere\AppServer\bin\launchClient \WebSphere\AppServer\samples\lib\WebServicesSamples\ApplicationClients.ear -CCjar=AddressBookClient.jar IBM WebSphere Application Server, выпуск 7.0 J2EE Application Client Tool Copyright IBM Corp., 1997-2008 WSCL0012I: Processing command line arguments. WSCL0013I: Initializing the J2EE Application Client Environment. [3/29/06 14:47:51:062 CST] 0000000a W UOW=null source=com.ibm.ws.ssl.config.SSLConfig org=IBM prod=WebSphere component=Application Server thread=[P=269328:O=0:CT] CWPKI0041W: One or more key stores are using the default password. WSCL0035I: Initialization of the J2EE Application Client Environment has completed. WSCL0014I: Invoking the Application Client class com.ibm.websphere.samples.webservices.addr.AddressBookClient >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JE >> Response is: 1 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WE >> Response is: 2 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WB >> Response is: 3 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JB >> Response is: 4 University Drive West Lafayette, IN 47907 Phone: (765) 555-4900 |
Более детальная информация о том, каким образом работают клиент и приложение, содержится в комментариях к Address Book, кроме того доступен исходный код Java.