Diferencia entre revisiones de «Parámetros Para Web Service»

De Dos Ideas.
Saltar a: navegación, buscar
(Ver también)
 
(No se muestra una edición intermedia de otro usuario)
Línea 1: Línea 1:
 +
[[Category:Java]]
 +
[[Category:Web Service]]
 
Practicamente cualquier aplicación medio seria necesita usar parametros de configuración. Un webservice no iba a ser diferente.
 
Practicamente cualquier aplicación medio seria necesita usar parametros de configuración. Un webservice no iba a ser diferente.
  
Línea 35: Línea 37:
 
</code>
 
</code>
  
===Ver también===
+
==Ver también==
[[Web Service]]
+
*[[Web Service]]
 
+
*[http://ws.apache.org/axis2/ Axis2]
[http://ws.apache.org/axis2/ Axis2]
 

Revisión actual del 15:29 26 ago 2009

Practicamente cualquier aplicación medio seria necesita usar parametros de configuración. Un webservice no iba a ser diferente.

Alternativas hay para todos los gustos o más bien para todas las necesidades, desde crear un fichero properties para ese par de parametros de configuración a uno xml para configuraciones algo más estructuradas. Incluso se ha llegado a ver usar el fichero properties-service.xml de JBoss. Una mala práctica que no aconsejamos, mejor el properties o xml empaquetado dentro de la aplicación y evitamos ataduras innecesarias.

En el caso de desarrollar un webservice con Axis2, el propio Axis2 nos ofrece otra alternativa: el fichero services.xml del propio webservice.

Veamos un ejemplo de cómo almacenar parametros de configuración simples y complejos dentro del fichero services.xml:

<service name="elWebserviceDeDosIdeas"> <description>Webservice de DosIdeas</description> <parameter name="ServiceClass">DosIdeas.ServiceClass</parameter>

<parameter name="UnParametroSimple">UnValorSimple</parameter>
<parameter name="UnParametroComplejo">
   <mailconfig>
      <username>DosIdeas</username>
      <password>clave</password>
      <host>http://mail.dominio.com</host>
   </mailconfig>
</parameter>

<operation name="operacion"> </operation> </service>

Y ahora para obtenerlos hay que hacer uso de la clase MessageContext, obtener el contexto actual y usar el método getParameter teniendo en cuenta que estamos recuperando objetos de tipo OMElement. Un código para el ejemplo anterior seria el siguiente:

MessageContext msgContext = MessageContext.getCurrentMessageContext(); Parameter parametroSimple = msgContext.getParameter("UnParametroSimple"); Parameter parametroComplejo = msgContext.getParameter("UnParametroComplejo");

System.out.println("Parametro Simple " + parametroSimple.getParameterElement().getText()); System.out.println("ParametroComplejo " + parametroComplejo.getParameterElement());

Ver también