Diferencia entre revisiones de «Parámetros Para Web Service»
(Página nueva: 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 p...) |
|||
Línea 34: | Línea 34: | ||
System.out.println("ParametroComplejo " + parametroComplejo.getParameterElement()); | System.out.println("ParametroComplejo " + parametroComplejo.getParameterElement()); | ||
</code> | </code> | ||
+ | |||
+ | ===Ver también=== | ||
+ | [Web Service] |
Revisión del 23:40 14 sep 2008
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
[Web Service]