JAX-RPC Web services |
|
|
![]() |
|
Configurare şi rulare | Note tehnice | Javadoc | Construire cu Ant |
Configurarea exemplului |
Rularea exemplului |
Există doi clienţi AddressBook, un client în versiunea Java 2 Standard Edition (J2SE) şi unul în versiunea cu gestionare bazată pe container Java 2 Enterprise Edition (J2EE). Dacă doriţi să beneficiaţi de toate avantajele oferite de serviciile de container J2EE, rulaţi versiunea J2EE.
Pentru a finaliza configurarea acestui exemplu, implementaţi aplicaţia exemplu JAX-RPC Web services pe server. Dacă aplicaţia exemplu nu este deja implementată, vedeţi instrucţiunile pentru Reconstruirea şi implementarea fişierului WebServicesSamples.ear.
Verificaţi dacă serverul a pornit înainte de a rula clienţii.
Există doi clienţi AddressBook, un client în versiunea externă J2SE şi unul în versiunea cu gestionare bazată pe container Java 2 Enterprise Edition (J2EE). Fiecare client utilizează cele patru variaţiuni ale bean-ului AddressBook Web Service care este implementat pe server. Bean-urile AddressBook Web Service returnează o valoare fixă şi nu necesită o conexiune la Internet pentru a rula.
Rularea clientului simplu J2SE AddressBook |
Rularea clientului de aplicaţie J2EE AddressBook |
Clientul J2SE AddressBook demonstrează interogarea bean-ului Web Service AddressBook pentru a obţine o adresă de la serviciul Web. Îi puteţi vedea sursa în directorul rădăcină_profil/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.
Când rulaţi AddressBookClient, fişierul AddressBook.wsdl trebuie să se afle în directorul curent. Dezarhivaţi fişierul AddressBook.wsdl din fişierul simpleClients.jar şi puneţi-l în directorul unde intenţionaţi să rulaţi exemplul. Puteţi găsi fişierul simpleClients.jar în directorul rădăcină_instalare/samples/lib/WebServicesSamples.
Clientul J2SE buclează de două ori prin fiecare bean AddressBook Web Service implementat pe server. În timpul acestei buclări, clientul apelează metoda getPort pentru a obţine un port unic pentru fiecare bean al aplicaţiei exemplu. Clientul apelează metoda getAddressFromName pentru fiecare port. A doua buclare începe arbitrar cu unul dintre porturi, şi apoi se continuă cu celelalte, setând adresa de punct final pentru fiecare dintre cele patru puncte finale posibile. Clientul apelează metoda getAddressFromName pentru fiecare port.
Pentru instrucţiuni mai generale privind invocarea unui client WebSphere, consultaţi în Centrul de informare subiectul referitor la elaborarea codului de client subţire de aplicaţie.
Pentru a rula clientul simplu J2SE AddressBook de pe un WebSphere Application Server,
parcurgeţi paşii următori, în funcţie de sistemul dumneavoastră de operare:
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 |
Clientul de aplicaţie J2EE AddressBook este similar cu clientul simplu J2SE AddressBook. Accesează aceleaşi bean-uri de servicii Web AddressBook, dar face aceasta dintr-un container de clienţi de aplicaţie J2EE utilizând comanda launchClient.
Clientul J2EE buclează prin fiecare bean AddressBook Web Service implementat pe server. Acest client utilizează comanda JNDI (Java Naming and Directory Interface) lookup pentru a localiza serviciul AddressBook şi face apeluri get port pentru a obţine porturi unice pentru fiecare dintre cele patru bean-uri AddressBook. Clientul apelează metoda getAddressFromName pentru fiecare port.
În paginile următoare, variabila rădăcină_instalare specifică rădăcina instalării WebSphere.
Pentru a rula clientul de aplicaţie J2EE AddressBook de pe un WebSphere Application Server,
parcurgeţi paşii următori, în funcţie de sistemul dumneavoastră de operare:
C:\WebSphere\AppServer\samples>\WebSphere\AppServer\bin\launchClient \WebSphere\AppServer\samples\lib\WebServicesSamples\ApplicationClients.ear -CCjar=AddressBookClient.jar IBM WebSphere Application Server, Release 7.0 J2EE Application Client Tool Copyright IBM Corp., 1997-2008 WSCL0012I: Procesare argumente linie comandă. WSCL0013I: Iniţializare 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: Unul sau mai multe depozite de chei folosesc parola implicită. WSCL0035I: Iniţializarea J2EE Application Client Environment s-a terminat. WSCL0014I: Invocare clasă Application Client com.ibm.websphere.samples.webservices.addr.AddressBookClient >> Interogare adresă pentru 'Purdue Boilermaker' folosind portul AddressBookW2JE >> Răspunsul este: 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 |
Pentru informaţii suplimentare privind modul de lucru al clientului şi aplicaţiei, consultaţi notele tehnice pentru Address Book şi examinaţi codul sursă Java.