Usługi WWW JAX-RPC |
|
|
![]() |
|
Skonfiguruj i uruchom | Noty techniczne | Dokumentacja Javadoc | Zbuduj przy użyciu narzędzia Ant |
Konfigurowanie przykładu |
Uruchamianie przykładu |
Istnieją dwa klienty przykładu AddressBook. Wersja J2SE (Java 2 Standard Edition) oraz zarządzana przez kontener wersja J2EE (Java 2 Enterprise Edition). Aby w pełni wykorzystać usługi kontenera J2EE, należy uruchomić wersję J2EE.
W celu skonfigurowania tego przykładu należy wdrożyć na serwerze przykładową aplikację usług WWW JAX-RPC. Jeśli przykładowa aplikacja nie została jeszcze wdrożona, patrz instrukcje Odbudowywanie oraz wdrażanie pliku WebServicesSamples.ear.
Przed uruchomieniem klientów należy sprawdzić, czy serwer działa.
Istnieją dwa klienty przykładu AddressBook. Zewnętrzna wersja J2SE oraz zarządzana przez kontener wersja J2EE. Każdy klient używa czterech rodzajów komponentów bean usługi Web Service AddressBook wdrożonych na serwerze. Komponenty bean usługi Web Service AddressBook zwracają stałą wartość i nie wymagają do uruchomienia połączenia internetowego.
Uruchamianie prostego klienta J2SE przykładu AddressBook |
Uruchamianie klienta J2EE przykładu AddressBook |
Za pomocą klienta J2SE przykładu AddressBook przedstawiono przesyłanie zapytań do komponentu bean usługi Web Service AddressBook w celu uzyskania adresu z usługi Web Service. Kod źródłowy można znaleźć w katalogu katalog_główny_profilu/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.
Plik AddressBook.wsdl musi znajdować się w katalogu bieżącym podczas uruchamiania klienta AddressBookClient. Należy wyodrębnić plik AddressBook.wsdl z pliku simpleClients.jar i umieścić go w katalogu, w którym będzie uruchamiany przykład. Plik simpleClients.jar można znaleźć w katalogu instalacyjny_katalog_główny/samples/lib/WebServicesSamples.
Klient J2SE wykonuje dwie pętle dla każdego komponentu bean usługi Web Service AddressBook wdrożonego na serwerze. Podczas pierwszej pętli klient wywołuje metodę getPort w celu uzyskania unikalnego portu dla każdego komponentu bean przykładowej aplikacji. Następnie klient wywołuje metodę getAddressFromName dla każdego portu. Druga pętla jest losowo uruchamiana z jednym z portów, następnie jest ona wykonywana i ustawia adres punktu końcowego na każdy z czterech możliwych punktów końcowych. Następnie klient wywołuje metodę getAddressFromName dla każdego portu.
Więcej ogólnych instrukcji na temat wywoływania klienta produktu WebSphere można znaleźć w Centrum informacyjnym w temacie dotyczącym tworzenia kodu cienkiego klienta aplikacji.
Aby uruchomić prostego klienta J2SE AddressBook z serwera WebSphere Application Server,
należy wykonać następujące kroki w zależności od używanego systemu operacyjnego:
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 |
Klient aplikacji J2EE przykładu AddressBook jest podobny do prostego klienta J2SE przykładu AddressBook. Uzyskuje on dostęp do tych samych komponentów bean usługi WWW AddressBook, ale robi to z poziomu kontenera klienta aplikacji J2EE przy użyciu komendy launchClient.
Klient J2EE wykonuje pętlę dla każdego komponentu bean usługi Web Service AddressBook wdrożonego na serwerze. Klient ten używa komendy lookup interfejsu JNDI (Java Naming and Directory Interface) w celu znalezienia usługi AddressBook i przeprowadza wywołania pobrania portu w celu uzyskania unikalnych portów dla każdego z czterech komponentów AddressBook. Następnie klient wywołuje metodę getAddressFromName dla każdego portu.
W poniższych krokach zmienna instalacyjny_katalog_główny odwołuje się do głównego katalogu instalacyjnego produktu WebSphere.
Aby uruchomić klienta J2EE przykładu AddressBook z serwera WebSphere Application Server,
należy wykonać następujące kroki w zależności od używanego systemu operacyjnego:
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: Przetwarzanie argumentów wiersza komend. WSCL0013I: Inicjowanie środowiska klienta aplikacji J2EE. [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: Co najmniej jeden plik kluczy używa domyślnego hasła. WSCL0035I: Zakończono inicjowanie środowiska klienta aplikacji J2EE. WSCL0014I: Wywoływanie klasy klienta aplikacji 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 |
Więcej informacji na temat działania klienta i aplikacji można uzyskać, przeglądając noty techniczne przykładu Address Book oraz kod źródłowy Java.