Ping şi Echo -
Configurare
|
 |
Exemplele Ping şi Echo sunt două servicii Web JAX-WS simple.
Exemplul Ping demonstrează o operaţie într-o singură direcţie.
O valoare şir simplă este pasată serviciului. Operaţia client se termină după ce a
contactat serviciul. Există două puncte finale în Exemplu. Un punct final foloseşte SOAP 1.1 şi celălalt foloseşte SOAP
1.2.
Exemplul Echo demonstrează o operaţie în două direcţii.
O valoare şir simplă este pasată serviciului. Serviciul adaugă la început o valoare şir identificator şi întoarce şirul clientului.
Există două puncte finale în Exemplu. Un punct final foloseşte SOAP 1.1 şi celălalt foloseşte SOAP
1.2. Exemplul Echo demonstrează şi modelele de programare sincron şi asincron,
precum şi comportamentul 'over-the-wire' sincron şi asincron.
- Sincron: Clientul aşteaptă pentru răspunsul serviciului.
- Asincron cu comunicaţii sincrone: Clientul serviciului nu aşteaptă pentru răspunsul serviciului.
Este furnizată o metodă callback. Când serviciul răspunde, metoda callback este apelată pentru a trata şirul de răspuns.
Totuşi, comunicarea pe fir este încă sincronă.
- Asincron cu comunicaţii asincrone: Clientul serviciului nu aşteaptă pentru răspunsul serviciului.
Este furnizată o metodă callback. Când serviciul răspunde, metoda callback este apelată pentru a trata şirul de răspuns.
Serviciul contactează clientul pe un canal care este diferit de canalul folosit de client pentru a contacta serviciul.
Punctele finale ale serviciului Exemplu
| URI |
Descriere |
http://localhost:9080/WSSampleSei/PingService
|
Exemplu de serviciu Ping care foloseşte SOAP 1.1
|
http://localhost:9080/WSSampleSei/PingService12
|
Exemplu de serviciu Ping care foloseşte SOAP 1.2 |
http://localhost:9080/WSSampleSei/EchoService
|
Exemplu de serviciu Echo care foloseşte SOAP 1.1 |
http://localhost:9080/WSSampleSei/EchoService12
|
Exemplu de serviciu Echo care foloseşte SOAP 1.2 |
Portul 9080 este valoarea implicită; dar numărul portului este
diferit dacă instalaţi la un alt profil decât profilul
AppSrv01.
Pentru a finaliza configuraţia exemplului Ping şi Echo, implementaţi pe server aplicaţia Exemple Jax-WS Web Services.
Dacă aplicaţia exemplu nu este implementată deja, vedeţi instrucţiunile pentru .
Înainte de a rula clienţii, trebuie să verificaţi că serverul de aplicaţii rulează.
Exemplul Ping şi Echo include două servicii, Ping şi Echo.
Exemplul Ping demonstrează o tranzacţie pe un serviciu într-o singură direcţie.
Codul sursă pentru acest Exemplu se află în directorul
profile_root/samples/src/JaxWSServicesSamples/SampleClientSei.
Exemplul Echo demonstrează o tranzacţie a serviciului în ambele direcţii.
Codul sursă pentru acest Exemplu se află în directorul
profile_root/samples/src/JaxWSServicesSamples/SampleClientSei.
Pentru a rula servletul client Ping şi Echo din WebSphere
Application Server, realizaţi următorii paşi:
- Porniţi serverul.
- Faceţi clic pe Rulare.
Exemplul de client subţire Ping şi Echo este similar cu servletul de client Ping
şi Echo. Acest exemplu accesează aceleaşi bean-uri de servicii Web, Ping şi Echo,
dar foloseşte un fişier JAR care necesită ca fişierul JAR pentru clientul subţire al JAX-WS cu WebSphere Application Server să fie specificat în calea de clase.
Puteţi găsi fişierul WSSampleClientSei.jar în directorul
samples/lib/JaxWSServicesSamples.
Exemplul de client subţire Ping şi Echo creează on proxy JAX-WS pentru serviciul Web Ping sau
Echo bazat pe parametrii pe care-i furnizaţi. Proxy-ul contactează apoi punctul
final al serviciului cu mesajul. Exemplul Echo aşteaptă pentru răspuns.
În următorii paşi, variabila app_server_root se referă la rădăcina de instalare a serverului de aplicaţii.
Pentru a rula aplicaţia de client subţire Ping şi Echo pe un WebSphere
Application Server, realizaţi următorii paşi, bazat pe sistemul de operare folosit:
- Porniţi serverul.
- Deschideţi un prompt de comandă.
- Mergeţi la directorul JaxWSServicesSamples.
Pe sistemele de operare Windows:
cd
app_server_root\samples\bin\JaxWSServicesSamples
Pe sistemele de operare AIX, Linux şi z/OS:
cd
app_server_root/samples/bin/JaxWSServicesSamples
Pe sistemele de operare iSeries:
cd
app_server_root/samples/bin/JaxWSServicesSamples
- Rulaţi exemplul de client subţire Ping şi Echo
Pe sistemele de operare Windows:
runSampleSei.bat -h hostname -p
port -f urlSuffix -m testMessage -s
service -t timeout -w asyncwire -c
count -1 -2
Pe sistemele de operare AIX, Linux şi z/OS:
./runSampleSei.sh -h hostname -p
port -f urlSuffix -m testMessage -s
service -t timeout -w asyncwire -c
count -1 -2
Pe sistemele de operare iSeries:
./runSampleSei -h hostname -p port
-f urlsuffix -m testMessage -s service
-t timeout -w asyncwire -c count -1
-2
Parametrii sunt:
-h <hostname> este numele gazdei. Valoarea implicită este localhost.
-p <port> este numărul portului. Valoarea implicită este 9080.
-f <urlsuffix> contextul punctului final al serviciului.
Valoarea implicită este /WSSampleSei/EchoService.
-m <message> textul mesajului.
Valoarea implicită este hello. Dacă mesajul conţine spaţii, folosiţi ghilimele pentru a încadra mesajul.
-c count specifică numărul de tranzacţii de rulat.
Valoarea implicită este 1.
-1 specifică folosirea SOAP 1.1. Valoarea implicită este SOAP 1.1.
-2 specifică folosirea SOAP 1.2.
Următorul exemplu ilustrează o rulare cu succes a clientului Ping şi Echo pe sistemul de operare Windows:
runSampleSei.bat -p 9081 Aug 8, 2007 7:01:00 PM com.ibm.ws.ssl.config.SSLConfigManager INFO: ssl.disable.url.hostname.verification.CWPKI0027I >> CLIENT: SEI Async to http://localhost:9081/WSSampleSei/EchoService [WAShttpAsyncResponseListener] listening on port 4733 >> CLIENT: SEI Async invocation complete. >> CLIENT: SEI Async response is: JAX-WS==>>HELLO
|
Pentru a afla mai multe despre cum lucrează clientul Exemplu şi aplicaţia, vedeţi
notele tehnice Ping şi Echo sau vedeţi codul sursă Java.
Pentru a afla mai multe despre clienţii serviciilor Web, vedeţi documentaţia despre dezvoltarea şi implementarea clienţilor de servicii Web în
Biblioteca centrului de informare WebSphere Application Server.
Sunt folosite politici pentru a activa calitatea
serviciului (QoS), cum ar fi ReliableMessaging şi
SecureConversation. Seturile de politici care sunt ataşate la o aplicaţie definesc
calitatea serviciului pentru aplicaţie. Este furnizat un set de scripturi pentru a activa seturile de politici pentru
WS-ReliableMessaging (WS-RM), WS-SecureConversation (WS-SC) şi
WS-I Reliable Secure Profile (RSP). RSP este un amestec de
WS-RM şi WS-SC. Aceste scripturi sunt furnizate ca exemple.
De asemenea, puteţi activa seturile de politici folosind consola de administrare.
Aceste scripturi sunt proiectate pentru a lucra doar cu aplicaţia Exemplu.
Următoarele tabele descriu scripturile Exemplului pentru setul de politici.
Scripturi pentru sistemul de operare Windows
| Nume fişier |
Descriere |
| enableRMQoS.bat |
Activare WS-ReliableMessaging Versiunea 1.1 |
| enableRM1QoS.bat |
Activare WS-ReliableMessaging Versiunea 1.0 |
| enableSCQoS.bat |
Activare WS-SecureConversation |
| enableRSPQoS.bat |
Activare WS-ReliableMessaging şi WS-SecureConversation |
| enableWSAQoS.bat |
Activare WS-Addressing |
| disableRMQoS.bat |
Dezactivare WS-ReliableMessaging Versiunea 1.1 |
| disableRM1QoS.bat |
Dezactivare WS-ReliableMessaging Versiunea 1.0 |
| disableSCQoS.bat |
Dezactivare WS-SecureConversation |
| disableRSPQoS.bat |
Dezactivare WS-ReliableMessaging şi WS-SecureConversation |
| disableWSAQoS.bat |
Dezactivare WS-Addressing |
Scripturi pentru sistemele de operare AIX, Linux şi z/OS:
| Nume fişier |
Descriere |
| enableRMQoS.sh |
Activare WS-ReliableMessaging Versiunea 1.1 |
| enableRM1QoS.sh |
Activare WS-ReliableMessaging Versiunea 1.0 |
| enableSCQoS.sh |
Activare WS-SecureConversation |
| enableRSPQoS.sh |
Activare WS-ReliableMessaging şi WS-SecureConversation |
| enableWSAQoS.sh |
Activare WS-Addressing |
| disableRMQoS.sh |
Dezactivare WS-ReliableMessaging Versiunea 1.1 |
| disableRM1QoS.sh |
Dezactivare WS-ReliableMessaging Versiunea 1.0 |
| disableSCQoS.sh |
Dezactivare WS-SecureConversation |
| disableRSPQoS.sh |
Dezactivare WS-ReliableMessaging şi WS-SecureConversation |
| disableWSAQoS.sh |
Dezactivare WS-Addressing |
Scripturi pentru sistemul de operare i5/OS
| Nume fişier |
Descriere |
| enableRMQoS |
Activare WS-ReliableMessaging Versiunea 1.1 |
| enableRM1QoS |
Activare WS-ReliableMessaging Versiunea 1.0 |
| enableSCQoS |
Activare WS-SecureConversation |
| enableRSPQoS |
Activare WS-ReliableMessaging şi WS-SecureConversation |
| enableWSAQoS |
Activare WS-Addressing |
| disableRMQoS |
Dezactivare WS-ReliableMessaging Versiunea 1.1 |
| disableRM1QoS |
Dezactivare WS-ReliableMessaging Versiunea 1.0 |
| disableSCQoS |
Dezactivare WS-SecureConversation |
| disableRSPQoS |
Dezactivare WS-ReliableMessaging şi WS-SecureConversation |
| disableWSAQoS |
Dezactivare WS-Addressing |
Folosiţi următorii paşi ca să rulaţi scripturile de mesagerie sigură pe
sistemul de operare Windows. Puteţi rula toate scripturile într-un mod similar bazat pe sistemul dumneavoastră de operare.
- deschideţi un prompt de comandă folosind meniul Start:
Faceţi clic pe Start-> Run. Introduceţi cmd.
- Mergeţi în directorul app_server_root/samples/bin/JaxWSServicesSamples. De exemplu: cd C:/Program
Files/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
- Rulaţi scripturile de mesagerie sigură.
- Pentru a rula activarea scripturilor de mesagerie sigură, introduceţi comanda: enableRMQos.bat
- Pentru a rula dezactivarea scripturilor de mesagerie sigură, introduceţi comanda: disableRMQos.bat
- (Opţional) Specificaţi profilul dumneavoastră, celula, nodul şi numele serverului când rulaţi scripturile de mesagerie sigură sau de securitate.
Scripturile de activare sau dezactivare mesagerie sigură şi securitate au patru parametri opţionali:
- profile: profil server de aplicaţii
- cell: celulă server de aplicaţii
- node: nod server de aplicaţii
- server: nume server de aplicaţii
Următorul exemplu demonstrează cum să rulaţi scriptul de activare mesagerie sigură cu parametrii opţionali profile, cell,
şi node specificaţi:
enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01
Următorul exemplu demonstrează cum să rulaţi scriptul de dezactivare mesagerie sigură cu parametrii opţionali profile, cell,
şi node specificaţi:
disableRMQoS.bat AppSrv02
MyServerNode01Cell MyServerNode01
- Configuraţi parametri suplimentari în linia de comandă după cum este necesar.
Dacă serverul are securitatea administrativă activată, trebuie să furnizaţi ID-ul de utilizator şi parola, sau dacă nu scriptul eşuează:
./enableRMQoS.sh -user myuserid -password
mypassword
- Asiguraţi-vă că aplicaţiile Exemplu porneşte corect. Dacă primiţi un mesaj
de avertizare, aplicaţiile Exemplului s-ar putea să fi pornit incorect.
Folosiţi consola administrativă pentru a opri şi a reporni aplicaţiile Exemplului.
Pentru a testa exemplul
Ping şi Echo cu seturile de politici QoS, urmaţi aceste linii directoare.
- Aplicaţi QoS (calitate serviciu) pe care vreţi să-l testaţi la aplicaţiile Exemplu, aşa cum se
indică în secţiunea Scripturi pentru set de politici.
- Editaţi scriptul runSampleSei pentru sistemul dumneavoastră de operare.
- Pentru a adăuga politicile WS-I RSP şi SecureConversation, adăugaţi următoarea
instrucţiune pentru a include fişierul de logare JAAS (Java Authentication and
Authorization):
Pe sistemele de operare Windows:
set
JAASLOGIN=-Djava.security.auth.login.config=<profile_root>/properties/wsjaas_client.conf
Pe sistemele de operare AIX, Linux şi z/OS:
export
JAASLOGIN=-Djava.security.auth.login.config=<profile_root>/properties/wsjaas_client.conf
profile_root indică directorul de pe server unde se află profilul dumneavoastră, de exemplu:
set
JAASLOGIN=-Djava.security.auth.login.config=C:/IBM/WebSphere/profiles/AppSrv02/properties/wsjaas_client.conf
- Modificaţi instrucţiunea de Classpath.
Pe sistemele de operare Windows:
set
CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.
Pe sistemele de operare AIX, Linux şi z/OS:
export
CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.
Notă: Punctul (.) este inclus la sfârşitul instrucţiuni Classpath.
Punctul este inclus astfel încât codul de încărcare al setului de politici găseşte directorul META-INF. Nu omiteţi punctul.
- Adăugaţi <JAASLOGIN> şi
-DUSER_INSTALL_ROOT="<profile_root>" la comanda Java.
Pe sistemele de operare Windows:
java %JAASLOGIN%
-DUSER_INSTALL_ROOT= "<profile_root>" -cp
"%CLASSPATH%" com.ibm.was.wssample.sei.cli.SampleClient %*
Pe sistemele de operare AIX, Linux şi z/OS:
java ${JAASLOGIN}
-DUSER_INSTALL_ROOT="<profile_root>" -cp
"${CLASSPATH} " com.ibm.was.wssample.sei.cli.SampleClient
$@
- Creaţi un director numit META-INF din directorul
app_server_root/samples/bin/JaxWSServicesSamples.
- Copiaţi directorul PolicySets din directorul
profile_root/config/cells/CELL_NAME/ la directorul
app_server_root/samples/bin/JaxWSServicesSamples/META-INF.
- Copiaţi subdirectorul bindings şi fişierul clientPolicyAttachment.xml din
directorul profile_root/config/cells/CELL_NAME/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF
la directorul app_server_root/samples/bin/JaxWSServicesSamples/META-INF directory.
Copiaţi întregul subdirector bindings şi conţinutul său, de exemplu, SecureConversationClientBinding sau
RAMP_client_default_bindings.
- Schimbaţi directorul curent la app_server_root/samples/bin/JaxWSServicesSamples şi rulaţi Exemplul.