Ping şi Echo - Configurare


Rularea exemplului
Rularea exemplului de client subţire
Activarea mesageriei sigure şi securitatea

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.


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.



Configurarea exemplului

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 Reconstruirea şi implementarea fişierului JaxWSServicesSamples.ear.

Rularea exemplului

Î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.

Rularea exemplului 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:

  1. Porniţi serverul.
  2. Faceţi clic pe Rulare.

Rularea exemplului de client subţire Ping şi Echo

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:

  1. Porniţi serverul.
  2. Deschideţi un prompt de comandă.
  3. 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

  4. 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.

Activarea mesageriei sigure şi securitatea

Scripturi pentru seturi de politici
Aplicarea QoS exemplului de client subţire Ping şi Echo

Scripturi de setare a politicii

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.

  1. deschideţi un prompt de comandă folosind meniul Start: Faceţi clic pe Start-> Run. Introduceţi cmd.
  2. Mergeţi în directorul app_server_root/samples/bin/JaxWSServicesSamples. De exemplu: cd C:/Program Files/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
  3. Rulaţi scripturile de mesagerie sigură.
  4. (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:

    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

  5. 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
  6. 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.  

Aplicarea QoS exemplului de client subţire Ping şi Echo

Pentru a testa exemplul Ping şi Echo cu seturile de politici QoS, urmaţi aceste linii directoare.
  1. 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.
  2. Editaţi scriptul runSampleSei pentru sistemul dumneavoastră de operare.
  3. 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

  4. 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.

  5. 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 $@

  6. Creaţi un director numit META-INF din directorul app_server_root/samples/bin/JaxWSServicesSamples.
  7. Copiaţi directorul PolicySets din directorul profile_root/config/cells/CELL_NAME/ la directorul app_server_root/samples/bin/JaxWSServicesSamples/META-INF.
  8. 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.
  9. Schimbaţi directorul curent la app_server_root/samples/bin/JaxWSServicesSamples şi rulaţi Exemplul.