Soap Monitor: Monitorización de mensajes SOAP en Axis2
A veces puede ser necesario monitorizar el tráfico SOAP que es intercambiado. En este pequeño tutorial vamos a ver como configurar y usar una herramienta de monitorización de mensajes SOAP sobre el motor de servicios Web Axis2 (http://ws.apache.org/axis2/).
Las herramientas que vamos a ver a continuación vienen en la distribución oficial de Axis2, bajo los archivos
Text
|
|
---|---|
axis2/WEB-INF/lib/soapmonitor-X.Y.Z.jar
|
y
Text
|
|
---|---|
axis2/WEB-INF/modules/soapmonitor-X.YZ.mar
|
, pero por defecto están deshabilitadas.
En este tutorial se asume que el lector ya tiene preinstalado Axis2 en su servidor (tomcat, jboss, etc).
En caso negativo, puede hacer clic aquí para aprender a instalarlo.
Pasos a seguir:
1º) Habilitamos dentro de Axis2 el servlet SOAPMonitorService.
Para ello deberemos añadir las siguientes líneas al archivo
Text
|
|
---|---|
%RUTA_AL_SERVIDOR%/webapps/axis2/WEB-INF/web.xml
|
SOAPMonitorService SOAPMonitorService org.apache.axis2.soapmonitor.servlet.SOAPMonitorService SOAPMonitorPort 5001 1 SOAPMonitorService /SOAPMonitor
2º) Reiniciamos el servidor sobre el que se ejecuta Axis2.
3º) Arrancamos un cliente que se comunica con el módulo
Axis2, viene con un cliente (un Applet Java) que se comunica con el servlet anterior, para iniciarlo deberemos dirigirnos a la dirección http://localhost:8080/axis2/SOAPMonitor. Si todo está correcto, deberá ver algo similar a la imagen que se muestra a continuación:
En caso de error, coloque en el %CLASSPATH% el jar
Text
|
|
---|---|
axis2/WEB-INF/lib/soapmonitor-X.Y.Z.jar
|
o extraiga del jar las clases del Applet mediante el comando
Text
|
|
---|---|
jar -xf soapmonitor-X.Y.Z.jar
|
y copielas en el directorio
Text
|
|
---|---|
%RUTA_AL_SERVIDOR%/webapps/axis2/
|
.
4º) Habilitando el módulo:
Ahora, tenemos que activar el módulo sobre los servicios web (o incluso para qué métodos de que servicios web) que deseamos monitorizar.
La forma más sencilla es a través de la ventana de administración de Axis2. http://localhost:8080/axis2 y haciendo clic en el enlace
Text
|
|
---|---|
Administration
|
.
Seleccionamos la opción apropiada, por ejemplo «Engage Module for a service»:
Seleccionamos el servicio Web que deseamos monitorizar:
Invocamos el servicio web y vemos el resultado:
http://localhost:8080/axis2/services/Version/getVersion
Otros métodos de activación:
Si desea una activación permamente del módulo, puede modificar el archivo
Text
|
|
---|---|
services.xml
|
del servicio en concreto, añadiendo la línea:
<module ref=»soapmonitor»/>.
Por ejemplo:
com.autentia.authentication.server.impl.AuthServerSkeleton true true urn:auth urn:authResponse
Si desea una activación global del módulo, puede añadir la misma línea sobre el archivo de configuración global de axis2:
Text
|
|
---|---|
%RUTA_AL_SERVIDOR/webapps/axis2/WEB-INF/axis2.xml
|
.
Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.
cgpcosmad@gmail.com