Rubrica - Configura ed esegui


Configurazione dell'esempio
Esecuzione dell'esempio

Esistono due client AddressBook, una versione J2SE (Java 2 Standard Edition) e una versione gestita dal container J2EE (Java 2 Enterprise Edition). Se si desidera trarre il massimo vantaggio dai servizi container J2EE eseguire la versione J2EE.

Configurazione dell'esempio

Per completare la configurazione di questo esempio, distribuire l'applicazione Esempi di servizi Web JAX-WS sul server. Se l'applicazione di esempio non è stata già distribuita, fare riferimento alle istruzioni relative alla ricreazione e distribuzione del file WebServicesSamples.ear.

Esecuzione dell'esempio

Verificare che il server sia avviato prima di eseguire i client.

Esistono due client AddressBook, una versione J2SE esterna e una versione gestita dal container J2EE (Java 2 Enterprise Edition). Ogni client esercita le quattro variazioni del bean del servizio Web AddressBook distribuito nel server. I bean dei servizi Web AddressBook restituiscono un valore fisso e non richiedono una connessione Internet per l'esecuzione.

Esecuzione del client semplice J2SE AddressBook
Esecuzione del client AddressBook dell'applicazione J2EE

Esecuzione del client semplice J2SE AddressBook

Il client J2SE AddressBook interroga il bean AddressBook dei servizi Web per ottenere un indirizzo dai servizi stessi. È possibile rilevare l'origine nella directory root_profilo/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.

Il file AddressBook.wsdl deve essere contenuto nella directory corrente quando si esegue AddressBookClient. Decomprimere il file AddressBook.wsdl dal file simpleClients.jar e collocarlo nella directory dove si desidera eseguire l'esempio. È possibile trovare il file simpleClients.jar nella directory root_installazione/samples/lib/WebServicesSamples.

Il client J2SE esegue due volte ciclicamente in ognuno dei bean dei servizi Web AddressBook distribuiti nel server. Durante il primo ciclo, il client richiama il metodo getPort per ottenere una porta univoca per ogni bean dell'applicazione di esempio. Il client richiama il metodo getAddressFromName su ogni porta. Il secondo ciclo viene avviato arbitrariamente su una delle porte, quindi viene eseguito un ciclo nella porta, impostando l'indirizzo endpoint per ognuno dei quattro endpoint possibili. Il client richiama il metodo getAddressFromName su ogni porta.

Per ulteriori istruzioni generali sul richiamo del client WebSphere, fare riferimento all'argomento relativo allo sviluppo del codice del client thin in Info Center.

Per eseguire il client J2SE semplice AddressBook da WebSphere Application Server, effettuare le seguenti operazioni, in base al sistema operativo utilizzato:

  1. Avviare il server.
  2. Aprire un prompt di comandi:
  3. Digitare i seguenti comandi:

    Su piattaforme Windows:

    cd root_profilo\bin
    setupCmdLine
    cd root_installazione\bin
    setupCmdLine

    Su piattaforme LINUX, UNIX e z/OS:

    cd root_profilo/bin
    . ./setupCmdLine.sh
    cd root_installazione/bin
    . ./setupCmdLine.sh

    Su piattaforme iSeries:

    cd root_profilo/bin
    . ./setupCmdLine
    cd root_installazione/bin
    . ./setupCmdLine

  4. Passare alla directory contenente il file AddressBook.wsdl.
  5. Digitare il seguente comando:

    Su piattaforme Windows:

    "%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 [<nome_host> <numero_porta>]

    Su piattaforme LINUX, UNIX e z/OS:

    "$JAVA_HOME/bin/java" $WAS_LOGGING -classpath "$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 [<nome_host> <numero_porta>]

    Su piattaforme iSeries:

    java $JAVA_PARM -classpath "$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 [<nome_host> <numero_porta>]

    dove:
    <nome_host> è il nome dell'host dell'indirizzo di endpoint del servizio. Il valore predefinito è localhost.
    <numero_porta> è il numero di porta dell'indirizzo di endpoint del servizio. Il valore predefinito è 9080.

    Il seguente esempio mostra un'esecuzione corretta del client AddressBook:

    
    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
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookW2JE
    >> Risposta:
    	1 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookJ2WE
    >> Risposta:
    	2 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookJ2WB
    >> Risposta:
    	3 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookW2JB
    >> Risposta:
    	4 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >>
    >> Richiama porta AddressBookJ2WB
    >> Imposta endpoint porta AddressBookJ2WB in
    http://localhost:9080/AddressBookW2JE/services/AddressBook
    >> Richiesta indirizzo di 'Purdue Boilermaker'
    >> Risposta:
    	1 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Imposta endpoint AddressBookJ2WB porta in
    http://localhost:9080/AddressBookJ2WE/services/AddressBook
    >> Richiesta indirizzo di 'Purdue Boilermaker'
    >> Risposta:
    	2 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Imposta endpoint porta AddressBookJ2WB in
    http://localhost:9080/AddressBookJ2WB/services/AddressBook
    >> Richiesta indirizzo di 'Purdue Boilermaker'
    >> Risposta:
    	3 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Imposta endpoint AddressBookJ2WB porta in
    http://localhost:9080/AddressBookW2JB/services/AddressBook
    >> Richiesta indirizzo di 'Purdue Boilermaker'
    >> Risposta:
    	4 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    
    

Esecuzione del client AddressBook dell'applicazione J2EE

Il client AddressBook dell'applicazione J2EE è simile al client AddressBook semplice J2SE. Consente di accedere agli stessi bean dei servizi Web AddressBook, ma da un contenitore client dell'applicazione J2EE utilizzando il comando launchClient.

Il client J2EE esegue un ciclo in ognuno dei bean dei servizi Web AddressBook distribuiti nel server. Questo client utilizza il comando JNDI (Java Naming and Directory Interface) lookup per localizzare il servizio AddressBook ed effettua le chiamate get port per ottenere porte univoche per ognuno dei quattro bean AddressBook. Il client richiama il metodo getAddressFromName su ogni porta.

Nella seguente procedura, la variabile root_installazione fa riferimento alla root di installazione WebSphere.

Per eseguire il client J2EE AddressBook da WebSphere Application Server, effettuare le seguenti operazioni, in base al sistema operativo utilizzato:

  1. Avviare il server.
  2. Aprire un prompt di comandi:
  3. Immettere i seguenti comandi:

    Su piattaforme Windows:

    cd <root_profilo>\bin
    setupCmdLine

    Sulle piattaforme Linux, UNIX e z/OS:

    cd <root_profilo>/bin
    . ./setupCmdLine.sh

    Su piattaforme iSeries:

    cd <root_profilo>/bin
    . ./setupCmdLine

    dove <root_profilo> indica la directory di installazione del profilo.
  4. Passare alla directory root_installazione/samples/lib/WebServicesSamples
    dove:
    root_installazione indica la root di installazione WebSphere Application Server o la root di installazione del profilo se l'esempio viene ricreato.
  5. Sostituire root_installazione con la directory root di installazione di WebSphere ed immettere il seguente comando:

    Su piattaforme Windows:

    root_installazione\bin\launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nome_host> <numero_porta>]

    Su piattaforme LINUX, UNIX e z/OS:

    root_installazione/bin/launchClient.sh ApplicationClients.ear -CCjar=AddressBookClient.jar [<nome_host> <numero_porta>]

    Su piattaforme iSeries:

    root_installazione/bin/launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nome_host> <numero_porta>]

    dove:
    <nome_host> è il nome dell'host dell'indirizzo di endpoint del servizio. Il valore predefinito è localhost.
    <numero_porta> è il numero di porta dell'indirizzo di endpoint del servizio. Il valore predefinito è 9080.


    Il seguente esempio mostra un'esecuzione corretta del client AddressBook:

    
    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: Elaborazione argomenti riga comandi in corso.
    WSCL0013I: inizializzazione dell'ambiente dell'Application Client J2EE in corso.
    [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: Uno o più keystore utilizzano la password predefinita.
    WSCL0035I: inizializzazione dell'ambiente dell'Application Client J2EE completata.
    WSCL0014I: richiamo della classe dell'Application Client com.ibm.websphere.samples.webservices.addr.AddressBookClient
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookW2JE
    >> Risposta:
    	1 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookJ2WE
    >> Risposta:
    	2 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookJ2WB
    >> Risposta:
    	3 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Richiesta indirizzo di 'Purdue Boilermaker' utilizzando la porta AddressBookW2JB  
    >> Risposta:
    	4 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    
    

Per ulteriori informazioni sui client e le applicazioni relative, fare riferimento alle note tecniche della Rubrica e visualizzare il codice di origine Java.