Anotaciones de direccionamiento de servicios web

La especificación WS-Addressing proporciona mecanismos neutrales de transporte para direccionar servicios web y para facilitar el direccionamiento entre de inicio a fin. Si tiene una aplicación JAX-WS, puede utilizar anotaciones Java en su código para especificar el comportamiento WS-Addressing en tiempo de ejecución.

Puede utilizar las anotaciones de WS-Addressing para habilitar el soporte de WS-Addressing, para especificar si la información de WS-Addressing es necesaria en los mensajes de entrada, para controlar el patrón de intercambio de mensajes que admite el servicio y para especificar las acciones que se deben asociar con una operación del servicio web o de respuesta de error.

Las anotaciones siguientes de WS-Addressing tienen soporte en WebSphere Application Server. Estas anotaciones están definidas en la especificación JAX-WS 2.2 a menos que se indique lo contrario. La especificación JAX-WS 2.2 reemplaza e incluye las funciones de la especificación JAX-WS 2.1. Consulte la Especificación de Java API for XML-Based Web Services 2.2 para obtener información completa.
javax.xml.ws.Action
Especifica la acción que se asocia a una operación de servicio web.
  • Si sigue un enfoque ascendente para desarrollar servicios web JAX-WS, puede generar un documento WSDL a partir del código de aplicación Java utilizando la herramienta de línea de mandatos wsgen. Sin embargo, para que este atributo se añada a la operación WSDL, también debe especificar la anotación @Addressing en la clase de implementación. El resultado en el documento WSDL generado es que las anotaciones Action tendrán el atributo wsam:Action en los elementos input message y output message de wsdl:operation. De forma alternativa, si no desea utilizar la anotación @Addressing, puede proporcionar su propio documento WSDL con el atributo Action ya definido.
  • Si sigue un enfoque descendente para desarrollar servicios web JAX-WS, puede generar el código de aplicación Java a partir de un documento WSDL existente utilizando la herramienta de línea de mandatos wsimport. En tales casos, el código Java resultante contendrá las anotaciones Action y FaultAction correctas.
Si esta acción no se especifica en las anotaciones de código o en el documento WSDL, se utiliza el patrón de acción predeterminado definido en la Especificación de metadatos de Web Services Addressing 1.0. Consulte esta especificación para obtener toda la información detallada.
Nota: Aunque el entorno de ejecución de WebSphere Application Server da soporte al atributo wsaw:Action en desuso, si intenta generar código Java a partir de un documento WSDL antiguo que contiene el atributo wsaw:Action en desuso, este atributo se ignorará.
javax.xml.ws.FaultAction
Especifica la acción que se añade a una respuesta de error. Si utiliza esta anotación con un método concreto, el atributo de ampliación FaultAction de WS-Addressing se añadirá al elemento erróneo de la operación WSDL que corresponde a dicho método. Para que este atributo se añada a la operación WSDL, también debe especificar la anotación de direccionamiento en la clase de implementación. Si no quiere utilizar la anotación de direccionamiento, puede proporcionar su propio documento WSDL con el atributo Action ya definido. Esta anotación debe estar dentro de una anotación Action.
Los documentos WSDL generados a partir del código de aplicación Java que contienen la anotación FaultAction de WS-Addressing tendrán el atributo wsam:Action en el elemento fault message de wsdl:operation.
Nota: Para asegurarse de que todas las clases Exception personalizadas que escriba se correlacionarán satisfactoriamente con el documento WSDL generado, amplíe la clase java.lang.Exception en lugar de la clase java.lang.RuntimeException.
javax.xml.ws.soap.Addressing
Especifica que este servicio es para habilitar el soporte de WS-Addressing. Puede utilizar esta anotación sólo en el bean de implementación de servicio; no puede utilizarla en la interfaz de punto final de servicio.
com.ibm.websphere.wsaddressing.jaxws21.SubmissionAddressing
Esta anotación forma parte de la implementación de IBM de la especificación JAX-WS. Esta anotación especifica que este servicio es para habilitar el soporte WS-Addressing para la especificación 2004/08 WS-Addressing. Puede utilizar esta anotación sólo en el bean de implementación de servicio; no puede utilizarla en la interfaz de punto final de servicio.

Para obtener más información sobre las anotaciones Addressing y SubmissionAddressing, incluidos los ejemplos de código, consulte Habilitación de soporte de direccionamiento de servicios web para aplicaciones JAX-WS utilizando las anotaciones de direccionamiento.

El código de ejemplo siguiente utiliza la anotación Action para definir la operación invoke a invocar (input), y la acción que se añade al mensaje de respuesta (output). El ejemplo también utiliza la anotación FaultAction para especificar la acción que se añade al mensaje de respuesta si se produce un error:
@WebService(name = "Calculator")
public interface Calculator {
   ...
  	 @Action(
      input="http://calculator.com/inputAction",
      output="http://calculator.com/outputAction",
      fault = { @FaultAction(className=AddNumbersException.class, 
                value="http://calculator.com/faultAction") 
      }
   )
   public int add(int value1, int value2) throws AddNumbersException {
      return value1 + value2;
   }
}
Si utiliza una herramienta para generar artefactos de servicio a partir de código, los códigos WSDL que se generan del ejemplo anterior son los siguientes:
<definitions targetNamespace="http://example.com/numbers" ...>
   ...
   <portType name="AddPortType">
      <operation name="Add">
         <input message="tns:AddInput" name="Parameters"
                         wsam:Action="http://calculator.com/inputAction"/>
         <output message="tns:AddOutput" name="Result"
           	               	               wsam:Action="http://calculator.com/outputAction"/>
         <fault message="tns:AddNumbersException" name="AddNumbersException"
           	              	              wsam:Action="http://calculator.com/faultAction"/>
      </operation>
    <portType>
    ...
<definitions>

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsa_annots
File name: cwbs_wsa_annots.html