Servicios Web de JAX-RPC |
|
|
![]() |
|
Configurar y ejecutar | Notas técnicas | Javadoc | Créelo con Ant |
Configurar el ejemplo |
Ejecutar el ejemplo |
Hay dos clientes de AddressBook, una versión de Java 2 Standard Edition (J2SE) y una versión gestionada por contenedor de Java 2 Enterprise Edition (J2EE). Si desea todas las ventajas de los servicios de contenedor de J2EE ejecute la versión J2EE.
Para completar la configuración de este ejemplo, despliegue la aplicación de ejemplos de servicios Web de JAX-RPC en el servidor. Si la aplicación de ejemplo aún no está desplegada, consulte las instrucciones en Cómo volver a crear y desplegar el archivo WebServicesSamples.ear.
Verifique que el servidor se ha iniciado antes de ejecutar los clientes.
Hay dos clientes de AddressBook, una versión externa de J2SE y una versión gestionada por contenedor de Java 2 Enterprise Edition (J2EE). Cada cliente ejerce las cuatro variantes del archivo bean del servicio Web de AddressBook que están desplegadas en el servidor. Los beans del servicio Web de AddressBook devuelven un valor fijo y no necesitan una conexión de Internet para ejecutarse.
Ejecución del cliente J2SE de AddressBook sencillo |
Ejecución del cliente de AddressBook de aplicación J2EE |
El cliente de AddressBook J2SE demuestra la consulta del bean de AddressBook de servicio Web para obtener una dirección del servicio Web. Puede encontrar su fuente en el directorio raíz_perfil/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.
El archivo AddressBook.wsdl debe estar en el directorio actual cuando ejecute AddressBookClient. Desempaquete el archivo AddressBook.wsdl del archivo simpleClients.jar y póngalo en el directorio donde piensa ejecutar el ejemplo. Puede encontrar el archivo simpleClients.jar en el directorio raíz_instalaciónsamples/lib/WebServicesSamples.
El cliente J2SE se ejecuta en bucle dos veces en cada uno de los beans de servicio Web de AddressBook desplegados en el servidor. Durante el primer bucle, el cliente llama al método getPort para obtener un puerto exclusivo para cada bean de la aplicación de ejemplo. El cliente llama al método getAddressFromName en cada puerto. El segundo bucle se inicia de forma arbitraria con uno de los puertos, luego realiza el bucle y establece su dirección de punto final en cada uno de los cuatro puntos finales posibles. El cliente llama al método getAddressFromName en cada puerto.
Para obtener más instrucciones generales sobre cómo invocar un cliente WebSphere, consulte el tema sobre desarrollo de código cliente de aplicaciones en el InfoCenter.
Para ejecutar el cliente sencillo de AddressBook de aplicación J2SE desde un WebSphere
Application Server, realice los pasos siguientes, basándose en su sistema
operativo:
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 |
El cliente de AddressBook de aplicación J2EE es similar al cliente de AddressBook J2SE sencillo. Accede a los mismos beans de servicios Web de AddressBook, pero lo hace desde un contenedor de cliente de aplicación J2EE utilizando el mandato launchClient.
El cliente J2EE se ejecuta en bucle en cada uno de los beans de servicio Web de AddressBook desplegados en el servidor. Este cliente utiliza el mandato lookup de JNDI (Java Naming and Directory Interface) para localizar el servicio AddressBook y realiza llamadas de obtención de puertos para obtener puertos exclusivos para cada uno de los cuatro beans de AddressBook. El cliente llama al método getAddressFromName en cada puerto.
En los pasos siguientes, la variable raíz_instalación hace referencia al directorio raíz de instalación de WebSphere.
Para ejecutar el cliente de AddressBook de aplicación J2EE desde un WebSphere
Application Server, realice los pasos siguientes, basándose en su sistema
operativo:
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: Procesando argumentos de línea de mandatos. WSCL0013I: Inicializando 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: Uno o varios almacenes de claves está utilizando la contraseña por omisión WSCL0035I: La inicialización de J2EE Application Client Environment ha finalizado. WSCL0014I: Invocando la clase de Cliente de aplicaciones com.ibm.websphere.samples.webservices.addr.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 |
Puede aprender más sobre el funcionamiento del cliente y de la aplicación refiriéndose a las notas técnicas de Address Book y visualizando el código fuente de Java.