Ping ed Echo - Configurazione


Esecuzione dell'esempio
Esecuzione dell'esempio Thin Client
Abilitazione della messaggistica attendibile e della sicurezza

Gli esempi Ping ed Echo sono due servizi Web JAX-WS semplici.

L'esempio Ping descrive un'operazione unidirezionale. Un valore di stringa semplice viene trasmesso al servizio. L'operazione client è completata dopo che ha contattato il servizio. Sono presenti due endpoint nell'esempio. Un endpoint utilizza SOAP 1.1 e l'altro SOAP 1.2.

L'esempio Echo descrive un'operazione bidirezionale. Un valore di stringa semplice viene trasmesso al servizio. Il servizio antepone un valore di stringa identificativo e lo restituisce al client. Vi sono due endpoint nell'esempio. Un endpoint utilizza SOAP 1.1 e l'altro SOAP 1.2. L'esempio Echo descrive anche i modelli di programmazione sincrona e asincrona, oltre al comportamento del transito sincrono e asincrono:


Esempi di endpoint del servizio
URI Descrizione
http://localhost:9080/WSSampleSei/PingService
Esempio di servizio Ping con SOAP 1.1
http://localhost:9080/WSSampleSei/PingService12
Esempio di servizio Ping con SOAP 1.2
http://localhost:9080/WSSampleSei/EchoService
Esempio di servizio Echo con SOAP 1.1
http://localhost:9080/WSSampleSei/EchoService12
Esempio di servizio Echo con SOAP 1.2

La porta 9080 rappresenta il valore predefinito; tuttavia, il numero porta è diverso se l'installazione viene eseguita con un profilo diverso da AppSrv01.



Configurazione dell'esempio

Per completare la configurazione dell'esempio Ping ed Echo, distribuire l'applicazione Esempi di servizi Web Jax-WS sul server. Se l'applicazione di esempio non è già distribuita, fare riferimento alle istruzioni per la Ricreazione e distribuzione del file JaxWSServicesSamples.ear.

Esecuzione dell'esempio

Prima di iniziare è necessario verificare che il server delle applicazioni sia in esecuzione prima di eseguire i client.

L'esempio Ping ed Echo contiene due servizi, Ping ed Echo.

Esecuzione dell'esempio Ping ed Echo

L'esempio Ping descrive una transazione di servizio unidirezionale. L'origine di questo esempio si trova nella directory root_profilo/samples/src/JaxWSServicesSamples/SampleClientSei.

L'esempio Echo descrive una transazione di servizio bidirezionale. L'origine di questo esempio si trova nella directory root_profilo/samples/src/JaxWSServicesSamples/SampleClientSei.

Per eseguire il servlet client Ping ed Echo client da un WebSphere Application Server, effettuare le seguenti operazioni:

  1. Avviare il server.
  2. Fare clic su Esegui.

Esecuzione dell'esempio Ping ed Echo Thin Client

L'esempio Ping ed Echo Thin Client è simile al servlet client Ping ed Echo. Questo esempio accede agli stessi bean di servizi Web Ping ed Echo ma utilizza un file JAR (Java archive) che richiede il thin client per JAX-WS con il file JAR WebSphere Application nel percorso di classe.

È possibile individuare il file WSSampleClientSei.jar nella directory samples/lib/JaxWSServicesSamples.

L'esempio Ping ed Echo Thin Client crea un proxy JAX-WS per il servizio Web Ping o Echo basato sui parametri forniti dall'utente. Il proxy quindi contatta l'endpoint del servizio con il messaggio. L'esempio Echo attende la risposta.

Nelle seguenti procedure, la variabile, root_server_app, si riferisce alla directory root di installazione del server delle applicazioni.

Per eseguire il client Ping ed Echo Thin Client da WebSphere Application Server, effettuare le seguenti operazioni, in base al sistema operativo:

  1. Avviare il server.
  2. Aprire un prompt di comandi:
  3. Andare alla directory JaxWSServicesSamples.

    Su sistemi operativi Windows:

    cd root_server_app\samples\bin\JaxWSServicesSamples

    Su sistemi operativi AIX, Linux e z/OS:

    cd root_server_app/samples/bin/JaxWSServicesSamples

    Su sistemi operativi iSeries:

    cd root_server_app/samples/bin/JaxWSServicesSamples

  4. Eseguire l'esempio Ping ed Echo Thin Client.

    Su sistemi operativi Windows:

    runSampleSei.bat -h nomehost -p porta -f suffissoUrl -m messaggioTesto -s servizio -t timeout -w transitoasincrono -c conteggio -1 -2

    Su sistemi operativi AIX, Linux e z/OS:

    ./runSampleSei.sh -h nomehost -p porta -f suffissoUrl -m messaggioTesto -s servizio -t timeout -w transitoasincrono -c conteggio -1 -2

    Su sistemi operativi iSeries:

    ./runSampleSei.sh -h nomehost -p porta -f suffissoUrl -m messaggioTesto -s servizio -t timeout -w transitoasincrono -c conteggio -1 -2

    I parametri sono:
    -h <nomehost> è il nome dell'host. Il valore predefinito è localhost.
    -p <porta> è il numero porta. Il valore predefinito è 9080.
    -f <suffissoUrl> è il contesto dell'endpoint del servizio. Il valore predefinito è /WSSampleSei/EchoService.
    -m <messaggioTesto> è il testo del messaggio. Il valore predefinito è hello. Se il messaggio contiene spazi, utilizzare le virgolette per racchiudere il messaggio.
    -c conteggio specifica il numero di transazioni da eseguire. Il valore predefinito è 1.
    -1 specifica l'utilizzo di SOAP 1.1. Il valore predefinito è SOAP 1.1.
    -2 specifica l'utilizzo di SOAP 1.2.

    Il seguente esempio descrive un'esecuzione corretta del client Ping ed Echo sul sistema operativo 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


Per ulteriori informazioni sul funzionamento del client e dell'applicazione Esempio, consultare le note tecniche Ping ed Echo o visualizzare il codice sorgente Java.

Per ulteriori informazioni sui client di servizi Web, consultare la documentazione sullo sviluppo e la distribuzione dei client di servizi Web nella libreria del centro informazioni WebSphere Application Server.

Abilitazione della messaggistica attendibile e della sicurezza

Script delle serie di politiche
Applicazione di QoS all'Esempio Ping ed Echo Thin Client

Script delle serie di politiche

Le serie di politiche vengono utilizzate per abilitare QoS (quality of service - qualità del servizio), ad esempio ReliableMessaging SecureConversation. Le serie di politiche allegate ad un'applicazione definiscono la qualità del servizio di quell'applicazione. Viene fornito un insieme di script per abilitare le serie di politiche per WS-RM (WS-ReliableMessaging), WS-SC (WS-SecureConversation) e WS-I Reliable Secure Profile (RSP). RSP è una composizione di entrambi WS-RM e WS-SC. Questi script vengono forniti come esempi. È possibile abilitare le serie di politiche anche tramite la console di gestione. Questi script sono progettati per essere utilizzati solo con le applicazioni Esempio. Le tabelle riportate di seguito descrivono gli script di esempio delle serie di politiche.

Script per il sistema operativo Windows
Nome file Descrizione
enableRMQoS.bat Abilita WS-ReliableMessaging Versione 1.1
enableRM1QoS.bat Abilita WS-ReliableMessaging Versione 1.0
enableSCQoS.bat Abilita WS-SecureConversation
enableRSPQoS.bat Abilita WS-ReliableMessaging e WS-SecureConversation
enableWSAQoS.bat Abilita WS-Addressing
disableRMQoS.bat Disabilita WS-ReliableMessaging Versione 1.1
disableRM1QoS.bat Disabilita WS-ReliableMessaging Versione 1.0
disableSCQoS.bat Disabilita WS-SecureConversation
disableRSPQoS.bat Disabilita WS-ReliableMessaging e WS-SecureConversation
disableWSAQoS.bat Disabilita WS-Addressing

Script per i sistemi operativi quali AIX, Linux e z/OS
Nome file Descrizione
enableRMQoS.sh Abilita WS-ReliableMessaging Versione 1.1
enableRM1QoS.sh Abilita WS-ReliableMessaging Versione 1.0
enableSCQoS.sh Abilita WS-SecureConversation
enableRSPQoS.sh Abilita WS-ReliableMessaging e WS-SecureConversation
enableWSAQoS.sh Abilita WS-Addressing
disableRMQoS.sh Disabilita WS-ReliableMessaging Versione 1.1
disableRM1QoS.sh Disabilita WS-ReliableMessaging Versione 1.0
disableSCQoS.sh Disabilita WS-SecureConversation
disableRSPQoS.sh Disabilita WS-ReliableMessaging e WS-SecureConversation
disableWSAQoS.sh Disabilita WS-Addressing

Script per il sistema operativo i5/OS
Nome file Descrizione
enableRMQoS Abilita WS-ReliableMessaging Versione 1.1
enableRM1QoS Abilita WS-ReliableMessaging Versione 1.0
enableSCQoS Abilita WS-SecureConversation
enableRSPQoS Abilita WS-ReliableMessaging e WS-SecureConversation
enableWSAQoS Abilita WS-Addressing
disableRMQoS Disabilita WS-ReliableMessaging Versione 1.1
disableRM1QoS Disabilita WS-ReliableMessaging Versione 1.0
disableSCQoS Disabilita WS-SecureConversation
disableRSPQoS Disabilita WS-ReliableMessaging e WS-SecureConversation
disableWSAQoS Disabilita WS-Addressing


Utilizzare le seguenti procedure per eseguire gli script di messaggistica attendibile sul sistema operativo Windows. È possibile eseguire tutti gli script in modo simile in base al proprio sistema operativo.

  1. Aprire un prompt dei comandi utilizzando il menu Start: Fare clic su Start-> Esegui. Immettere cmd.
  2. Andare alla directory root_server_app/samples/bin/JaxWSServicesSamples. Ad esempio: cd C:/Programmi/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
  3. Eseguire gli script della messaggistica attendibile.
  4. (Facoltativo) Specificare il profilo, la cella, il nodo o il nome server quando vengono eseguiti gli script della messaggistica attendibile o della sicurezza. Gli script di abilitazione e disabilitazione per la messaggistica attendibile e la sicurezza hanno quattro parametri facoltativi:

    Il seguente esempio descrive come eseguire lo script di abilitazione WS-ReliableMessaging con specificati i parametri facoltativi del profilo, della cella e del nodo:

    enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

    Il seguente esempio descrive come eseguire lo script di disabilitazione WS-ReliableMessaging con specificati i parametri facoltativi del profilo, della cella e del nodo:

    disableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

  5. Configurare ulteriori parametri sulla riga comandi in base alle esigenze. Se il server ha abilitata la sicurezza di gestione, è necessario fornire l'ID utente e la password o lo script non avrà esito positivo, ad esempio:
    ./enableRMQoS.sh -user myuserid -password mypassword
  6. Verificare che le applicazioni di esempio vengano avviate correttamente. Se si riceve un messaggio di avvertenza, le applicazioni di esempio potrebbero essersi avviate in modo non corretto. Utilizzare la console di gestione per arrestare e riavviare le applicazioni di esempio.  

Applicazione di QoS all'Esempio Ping ed Echo Thin Client

Per verificare l'esempio Ping ed Echo Thin Client con le serie di politiche QoS, seguire le linee guida riportate di seguito.
  1. Applicare la QoS (quality of service) che si desidera verificare alle applicazioni di esempio, come indicato nella sezione Script delle serie di politiche.
  2. Modificare lo script runSampleSei per il proprio sistema operativo.
  3. Per aggiungere le politiche WS-I RSP e SecureConversation, aggiungere la seguente istruzione in modo da includere il percorso per il file di accesso JAAS (Java Authentication and Authorization):

    Su sistemi operativi Windows:

    set JAASLOGIN=-Djava.security.auth.login.config=<root_profilo>/properties/wsjaas_client.conf

    Su sistemi operativi AIX, Linux e z/OS:

    export JAASLOGIN=-Djava.security.auth.login.config=<root_profilo>/properties/wsjaas_client.conf

    La root_profilo indica la directory del server in cui si trova il profilo, ad esempio:
    set JAASLOGIN=-Djava.security.auth.login.config=C:/IBM/WebSphere/profiles/AppSrv02/properties/wsjaas_client.conf

  4. Modificare l'istruzione classpath.

    Su sistemi operativi Windows:

    set CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.

    Su sistemi operativi AIX, Linux e z/OS:

    export CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.

    Nota: il punto (.) viene incluso alla fine dell'istruzione classpath. Il punto viene incluso in modo che il codice di caricamento della serie di politiche individui la directory META-INF. Non omettere il punto.

  5. Aggiungere <JAASLOGIN> e -DUSER_INSTALL_ROOT="<root_profilo>" al comando Java.

    Su sistemi operativi Windows:

    java %JAASLOGIN% -DUSER_INSTALL_ROOT= "<root_profilo>" -cp "%CLASSPATH%" com.ibm.was.wssample.sei.cli.SampleClient %*

    Su sistemi operativi AIX, Linux e z/OS:

    java ${JAASLOGIN} -DUSER_INSTALL_ROOT="<root_profilo>" -cp "${CLASSPATH} " com.ibm.was.wssample.sei.cli.SampleClient $@

  6. Creare una directory denominata META-INF dalla directory root_server_app/samples/bin/JaxWSServicesSamples.
  7. Copiare la directory PolicySets dalla directory root_profilo/config/cells/NOME_CELLA/ nella directory root_server_app/samples/bin/JaxWSServicesSamples/META-INF.
  8. Copiare la sottodirectory bindings ed il file clientPolicyAttachment.xml dalla directory root_profilo/config/cells/ NOME_CELLA/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF nella directory root_server_app/samples/bin/JaxWSServicesSamples/META-INF. Si consiglia di copiare l'intera sottodirectory bindings ed il relativo contenuto, ad esempio, SecureConversationClientBinding o RAMP_client_default_bindings.
  9. Modificare la directory corrente in root_server_app/samples/bin/JaxWSServicesSamples ed eseguire l'esempio.