Ping y Echo -
Configurar
|
 |
Los ejemplos Ping y Echo son dos servicios Web de JAX-WS sencillos.
El ejemplo de Ping muestra una operación de una dirección. Un valor de serie simple se pasa al servicio. La operación de cliente finaliza una vez que se ha contactado el servicio. Existen dos puntos finales en el ejemplo. Un punto final utiliza SOAP 1.1 y el otro punto final utiliza SOAP 1.2.
El ejemplo de Echo muestra una operación de dos direcciones. Un valor de serie simple se pasa al servicio. El servicio añade como prefijo un valor de serie de identificador y devuelve este valor al cliente. Hay dos puntos finales en el ejemplo. Un punto final utiliza SOAP 1.1 y el otro punto final utiliza SOAP 1.2. El ejemplo de Echo también muestra los modelos de programación síncrono y asíncrono, así como el comportamiento síncrono y asíncrono a través de la red:
- Síncrono: el cliente espera la respuesta del servicio.
- Asíncrono con comunicación síncrona: el cliente de servicio no espera la
respuesta del servicio. Se proporciona un método de devolución de llamada. Cuando el servicio responde, se llama al método de devolución de llamada para manejar la serie de respuesta. Sin embargo, la comunicación a través de la red sigue siendo asíncrona.
- Asíncrono con comunicación asíncrona: el cliente de servicio no espera la
respuesta del servicio. Se proporciona un método de devolución de llamada. Cuando el servicio responde, se llama al método de devolución de llamada para manejar la serie de respuesta. El servicio contacta con el cliente a través de un canal distinto del canal que ha utilizado el cliente para contactar con el servicio.
Puntos finales de servicio de ejemplo
URI |
Descripción |
http://localhost:9080/WSSampleSei/PingService
|
Ejemplo de servicio Ping que utiliza SOAP 1.1
|
http://localhost:9080/WSSampleSei/PingService12
|
Ejemplo de servicio Ping que utiliza SOAP 1.2 |
http://localhost:9080/WSSampleSei/EchoService
|
Ejemplo de servicio Echo que utiliza SOAP 1.1 |
http://localhost:9080/WSSampleSei/EchoService12
|
Ejemplo de servicio Echo que utiliza SOAP 1.2 |
El puerto 9080 es el valor por omisión, pero el número de puerto es
distinto si instala en un perfil distinto al perfil AppSrv01.
Para completar la configuración del ejemplo de Ping y Echo, despliegue la aplicación Ejemplos de servicios Web de JAX-WS en el servidor. Si la
aplicación de ejemplo aún no se ha desplegado, consulte las instrucciones en .
Antes de empezar, debe verificar que el servidor de aplicaciones se está ejecutando antes de ejecutar los clientes.
El ejemplo de Ping y Echo incluye dos servicios, Ping y Echo.
El ejemplo de Ping muestra una transacción de servicio de una dirección. El código
de este ejemplo se encuentra en el directorio
raíz_perfil/samples/src/JaxWSServicesSamples/SampleClientSei.
El ejemplo de Echo muestra una transacción de servicio de dos direcciones. El código
de este ejemplo se encuentra en el directorio
raíz_perfil/samples/src/JaxWSServicesSamples/SampleClientSei.
Para ejecutar el servlet de cliente Ping y Echo desde un WebSphere Application Server, efectúe los siguientes pasos:
- Inicie el servidor.
- Pulse Ejecutar.
El ejemplo de cliente ligero de Ping y Echo es parecido al servlet de cliente de
Ping y Echo. Este ejemplo accede a los mismos beans de servicios Web de Ping y Echo, pero
utiliza un archivo Java (JAR) que requiere Thin Client para JAX-WS con el archivo JAR de WebSphere
Application en la vía de acceso de clases.
Puede encontrar el archivo WSSampleClientSei.jar en el directorio
samples/lib/JaxWSServicesSamples.
El ejemplo de cliente ligero de Ping y Echo crea un proxy de JAX-WS para el servicio Web Ping o Echo basándose en los parámetros que se proporcionan. A continuación, el proxy establece contacto con el punto final del servicio con el mensaje.
El ejemplo de Echo espera la respuesta.
En los siguientes pasos, la variable raíz_servidor_aplicaciones hace
referencia al raíz de instalación del servidor de aplicaciones.
Para ejecutar el cliente ligero de Ping y Echo desde WebSphere Application Server,
efectúe los siguientes pasos, según su sistema operativo:
- Inicie el servidor.
- Abra un indicador de mandatos.
- Vaya al directorio JaxWSServicesSamples.
En los sistemas operativos Windows:
cd
raíz_servidor_aplicaciones\samples\bin\JaxWSServicesSamples
En los sistemas operativos como AIX, Linux y z/OS:
cd
raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples
En los sistemas operativos iSeries:
cd
raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples
- Ejecute el ejemplo de cliente ligero de Ping y Echo.
En los sistemas operativos Windows:
runSampleSei.bat -h nombre_host -p
puerto -f sufijo_url -m mensaje_prueba -s
servicio -t tiempo_espera -w con_asínc -c
recuento -1 -2
En los sistemas operativos como AIX, Linux y z/OS:
./runSampleSei.sh -h nombre_host -p
puerto -f sufijo_url -m mensaje_prueba -s
servicio -t tiempo_espera -w con_asínc -c
recuento -1 -2
En los sistemas operativos iSeries:
./runSampleSei -h nombre_host -p puerto
-f sufijo_url -m mensaje_prueba -s servicio
-t tiempo_espera -w con_asínc -c recuento -1
-2
Los parámetros son:
-h <nombre_host> es el nombre del host. El valor por omisión es
localhost.
-p <puerto> es el número de puerto. El valor por omisión es
9080.
-f <sufijo_url> es el contexto de punto final del servicio.
El valor por omisión es /WSSampleSei/EchoService.
-m <mensaje> es el texto del mensaje. El valor por omisión
es hello. Si el mensaje contiene espacios en blanco, escriba el mensaje entre comillas.
-c recuento especifica el número de transacciones que se van a ejecutar.
El valor por omisión es 1.
-1 especifica que se utilice SOAP 1.1. El valor por omisión es SOAP 1.1.
-2 especifica que se utilice SOAP 1.2.
En el siguiente ejemplo se muestra una ejecución satisfactoria del cliente Ping y Echo en el 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
|
Para obtener más información sobre el funcionamiento de la aplicación y el cliente de ejemplo, consulte las notas técnicas de Ping y Echo, o examine el código fuente de Java.
Para obtener más información sobre clientes de servicios Web, consulte la documentación sobre el desarrollo y el despliegue de clientes de servicios Web en la
biblioteca del centro de información de WebSphere Application Server.
Los conjuntos de políticas se utilizan para habilitar la calidad de servicio (QoS) como
ReliableMessaging y SecureConversation. Los conjuntos de políticas que están conectados a una aplicación definen la calidad de servicio para esa aplicación. Se proporciona un conjunto de scripts para habilitar los conjuntos de políticas para
WS-ReliableMessaging (WS-RM), WS-SecureConversation (WS-SC) y
WS-I Reliable Secure Profile (RSP). RSP es una composición de WS-RM y WS-SC. Estos scripts se proporcionan como ejemplos.
También puede habilitar conjuntos de políticas utilizando la consola administrativa.
Estos scripts están diseñados de modo que sólo funcionan con las aplicaciones de ejemplo.
En las siguientes tablas se describen los scripts de ejemplo de conjunto de políticas.
Scripts para el sistema operativo Windows
Nombre de archivo
|
Descripción |
enableRMQoS.bat |
Habilitar WS-ReliableMessaging Versión 1.1 |
enableRM1QoS.bat |
Habilitar WS-ReliableMessaging Versión 1.0 |
enableSCQoS.bat |
Habilitar WS-SecureConversation |
enableRSPQoS.bat |
Habilitar WS-ReliableMessaging y WS-SecureConversation |
enableWSAQoS.bat |
Habilitar WS-Addressing |
disableRMQoS.bat |
Inhabilitar WS-ReliableMessaging Versión 1.1 |
disableRM1QoS.bat |
Inhabilitar WS-ReliableMessaging Versión 1.0 |
disableSCQoS.bat |
Inhabilitar WS-SecureConversation |
disableRSPQoS.bat |
Inhabilitar WS-ReliableMessaging y WS-SecureConversation |
disableWSAQoS.bat |
Inhabilitar WS-Addressing |
Scripts para sistemas operativos como AIX, Linux y z/OS
Nombre de archivo
|
Descripción |
enableRMQoS.sh |
Habilitar WS-ReliableMessaging Versión 1.1 |
enableRM1QoS.sh |
Habilitar WS-ReliableMessaging Versión 1.0 |
enableSCQoS.sh |
Habilitar WS-SecureConversation |
enableRSPQoS.sh |
Habilitar WS-ReliableMessaging y WS-SecureConversation |
enableWSAQoS.sh |
Habilitar WS-Addressing |
disableRMQoS.sh |
Inhabilitar WS-ReliableMessaging Versión 1.1 |
disableRM1QoS.sh |
Inhabilitar WS-ReliableMessaging Versión 1.0 |
disableSCQoS.sh |
Inhabilitar WS-SecureConversation |
disableRSPQoS.sh |
Inhabilitar WS-ReliableMessaging y WS-SecureConversation |
disableWSAQoS.sh |
Inhabilitar WS-Addressing |
Scripts para el sistema operativo i5/OS
Nombre de archivo
|
Descripción |
enableRMQoS |
Habilitar WS-ReliableMessaging Versión 1.1 |
enableRM1QoS |
Habilitar WS-ReliableMessaging Versión 1.0 |
enableSCQoS |
Habilitar WS-SecureConversation |
enableRSPQoS |
Habilitar WS-ReliableMessaging y WS-SecureConversation |
enableWSAQoS |
Habilitar WS-Addressing |
disableRMQoS |
Inhabilitar WS-ReliableMessaging Versión 1.1 |
disableRM1QoS |
Inhabilitar WS-ReliableMessaging Versión 1.0 |
disableSCQoS |
Inhabilitar WS-SecureConversation |
disableRSPQoS |
Inhabilitar WS-ReliableMessaging y WS-SecureConversation |
disableWSAQoS |
Inhabilitar WS-Addressing |
Utilice los siguientes pasos para ejecutar los scripts de mensajería fiable
en el sistema operativo Windows. Puede ejecutar todos los scripts de una forma parecida en función del sistema operativo.
- Abra un indicador de mandatos con el menú Inicio:
Pulse Inicio-> Ejecutar. Entre cmd.
- Vaya al directorio
raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples. Por ejemplo,
cd C:/Archivos de programa/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
- Ejecute los scripts de mensajería fiable.
- Para ejecutar la habilitación de los scripts de mensajería fiable, escriba el mandato: enableRMQos.bat
- Para ejecutar la inhabilitación de los scripts de mensajería fiable, escriba el mandato: disableRMQos.bat
- (Opcional) Especifique el nombre de perfil, célula, nodo o servidor cuando ejecute los scripts de seguridad o mensajería fiable. Los scripts de habilitación e inhabilitación para la seguridad ý mensajería fiable tienen cuatro parámetros opcionales:
- perfil: perfil de servidor de aplicaciones
- célula: célula del servidor de aplicaciones
- nodo: nodo del servidor de aplicaciones
- servidor: nombre del servidor de aplicaciones
En el siguiente ejemplo se muestra cómo ejecutar el script para habilitar
WS-ReliableMessaging con los parámetros opcionales de perfil, célula y nodo especificados:
enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01
En el siguiente ejemplo se muestra cómo ejecutar el script para inhabilitar
WS-ReliableMessaging con los parámetros opcionales de perfil, célula y nodo especificados:
disableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01
- Configure parámetros adicionales en la línea de mandatos según sea necesario. Si
el servidor tiene habilitada la seguridad administrativa, debe proporcionar el ID de
usuario y la contraseña o el script fallará, por ejemplo:
./enableRMQoS.sh -user myuserid -password mypassword
- Asegúrese de que las aplicaciones de ejemplo se inician correctamente. Si ha
recibido un mensaje de aviso, es posible que las aplicaciones de ejemplo se hayan
iniciado incorrectamente. Utilice la consola administrativa para detener y
luego volver a iniciar las aplicaciones de ejemplo.
Para probar el ejemplo de Ping y Echo de cliente ligero con los conjuntos de políticas de calidad de servicio (QoS), siga estas directrices.
- Aplique la calidad de servicio (QoS) que desea probar las aplicaciones de
ejemplo como se indica en la sección Scripts de conjuntos de políticas.
- Edite el script runSampleSei correspondiente al sistema operativo.
- Para añadir las políticas WS-I RSP y SecureConversation, añada la siguiente sentencia de modo que incluya la vía de acceso al archivo de inicio de sesión de JAAS (Java Authentication and Authorization):
En los sistemas operativos Windows:
set JAASLOGIN=-Djava.security.auth.login.config=<raíz_perfil>/properties/wsjaas_client.conf
En los sistemas operativos como AIX, Linux y z/OS:
export
JAASLOGIN=-Djava.security.auth.login.config=<raíz_perfil>/properties/wsjaas_client.conf
El directorio raíz_perfil indica el directorio del servidor donde se encuentra el perfil, por ejemplo:
set
JAASLOGIN=-Djava.security.auth.login.config=C:/IBM/WebSphere/profiles/AppSrv02/properties/wsjaas_client.conf
- Cambie la sentencia de la vía de acceso de clases.
En los sistemas operativos Windows:
set
CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.
En los sistemas operativos como AIX, Linux y z/OS:
export
CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.
Nota: El punto (.) se incluye al final de la sentencia de vía de acceso de clases.
El punto se incluye para que el código de carga del conjunto de políticas encuentre el directorio META-INF. No omita el punto.
- Añada <JAASLOGIN> y
-DUSER_INSTALL_ROOT="<raíz_perfil>" al mandato de Java.
En los sistemas operativos Windows:
java %JAASLOGIN%
-DUSER_INSTALL_ROOT= "<raíz_perfil>" -cp
"%CLASSPATH%" com.ibm.was.wssample.sei.cli.SampleClient %*
En los sistemas operativos como AIX, Linux y z/OS:
java ${JAASLOGIN}
-DUSER_INSTALL_ROOT="<raíz_perfil>" -cp
"${CLASSPATH} " com.ibm.was.wssample.sei.cli.SampleClient
$@
- Cree un directorio llamado META-INF desde el directorio
raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples.
- Copie el directorio PolicySets desde el directorio
raíz_perfil/config/cells/NOMBRE_CÉLULA/ en el directorio
raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples/META-INF.
- Copie el subdirectorio de enlaces y el archivo
clientPolicyAttachment.xml del directorio
raíz_perfil/config/cells/ NOMBRE_CÉLULA/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF en
el directorio raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples/META-INF.
Copie todo el subdirectorio bindings y su contenido, por ejemplo,
SecureConversationClientBinding o RAMP_client_default_bindings.
- Cambie el directorio activo a raíz_servidor_aplicaciones/samples/bin/JaxWSServicesSamples y ejecute el ejemplo.