miércoles, 27 de agosto de 2008

esb: Ejemplo con Apache Synapse

Ejemplo de la Guia Rapida de Apache Synapse

Descargar la distribucion de Apache Synapse desde el siguiente vinculo.

Acceda al directorio donde se encuentra el web service de ejemplo SimpleStockQuoteService, incluido en la distribucion. A continuacion se muestra el contenido del web service:


Para realizar la compilacion, debera ejecutar los siguientes comandos:
$> cd $SYNAPSE_HOME/samples/axis2Server/src/SimpleStockQuoteService
$> ant
La variable de entorno $SYNAPSE_HOME puede estar o no definida, lo importante es tener en cuenta que hace referencia a la ruta de instalacion de Apache Synapse.

El resultado de la compilacion se muestra en la siguiente figura:


Luego de obtener una compilacion exitosa, podra iniciar el servidor de Axis2 que contiene el web service SimpleStockQuoteService. Observe en la siguiente figura el contenido del servidor de Axis2 provisto junto con la distribucion de Apache Synapse:


Para iniciar el servidor de Axis2, ejecute los siguiente comandos:
$> cd $SYNAPSE_HOME/samples/axis2Server
$> axis2server.bat
En caso de tratarse de un sistema Linux, debera ejecutar el script axis2server.sh.
Podra observar en la consola el resultado de la ejecucion del servidor Axis2 como se muestra en la siguiente figura:


La salida generada por el inicio del servidor de Axis2 es la siguiente:
"Starting Sample Axis2 Server ..."
Using AXIS2_HOME: C:\synapse-1.2\samples\axis2Server\
Using JAVA_HOME: c:\dev\jdk1.5.0_11
--> Wrapper Started as Console
Launching a JVM...

2008-08-27 17:26:35,650 [-] [WrapperSimpleAppMain] INFO SampleAxis2ServerManager
[SimpleAxisServer] Starting
[SimpleAxisServer] Using the Axis2 Repository :
C:\synapse-1.2\samples\axis2Server\repository
[SimpleAxisServer] Using the Axis2 Configuration File :
C:\synapse-1.2\samples\axis2Server\repository\conf\axis2.xml
...
2008-08-27 17:26:37,009 [-] [WrapperSimpleAppMain]
WARN MailTransportListener Error configuring the Mail transport for Service
Cannot find parameter : transport.mail.Address for service : SimpleStockQuoteService
...
2008-08-27 17:26:37,009 [-] [WrapperSimpleAppMain]
INFO SampleAxis2ServerManager [SimpleAxisServer] Started
Tambien puede verificar mediante un navegador que el servidor Axis2 se encuentra funcionando y que el web service de ejemplo fue publicado con exito. Acceda a http://localhost:9000/soap para verificarlo:


Ahora es momento de iniciar Synapse. Observe en la siguiente figura el contenido del directorio bin de Apache Synapse, donde se encuentran varios scripts de ejecucion:


Para iniciar Synapse, ejecute los siguientes comandos:
$> cd $SYNAPSE_HOME/bin
$> synapse.bat -sample 0
En caso de tratarse de un sistema Linux, debera ejecutar el script synapse.sh.

Los parametros -sample y 0 le indican a Synapse que utilice el archivo de configuracion de ejemplo llamado synapse_sample_0.xml ubicado en $SYNAPSE_HOME/repository/conf/sample. Este archivo de configuracion especifica logging de los mensajes.

Podra observar en la consola el resultado de la ejecucion de synapse como se muestra en la siguiente figura:


La salida generada por el inicio de Apache Synapse es la siguiente:
"Starting Synapse/Java ..."
Using SYNAPSE_HOME: C:\synapse-1.2\bin\.
Using JAVA_HOME: c:\dev\jdk1.5.0_11
--> Wrapper Started as Console
Launching a JVM...
...
2008-08-27 17:46:42,091 [10.135.117.158-SGNARBA20392101]
[WrapperSimpleAppMain] INFO ServerManager Ready for processing
Con el web service y Synapse ejecutando, es momento de utilizar un cliente de web service para efectuar alguna consulta al web service y verificar el logging del mensaje. A continuacion puede observar el contenido del cliente de Axis2 provisto junto con la distribucion de Apache Synapse:


Para iniciar el cliente de web service, ejecute ant empleando los argumentos que definen el web service a invocar, el metodo y sus parametros:
$> ant stockquote -Daddurl=http://localhost:9000/soap/SimpleStockQuoteService
-Dtrpurl=http://localhost:8280 -Dmode=quote -Dsymbol=IBM
Podra observar en la consola donde se ejecuta el cliente la siguiente salida:


Luego, si consulta la consola donde Synapse se esta ejecutando, podra verificar que el mensaje enviado al web service se encuentra en pantalla. El logging a funcionado.


Vinculos:

No hay comentarios.: