SPI de Web Services Addressing propiedad de IBM
Las interfaces de programación de sistemas (SPI) de WS-Addressing (Web Services Addressing) propiedad de IBM amplían las interfaces de programación de aplicaciones (API)de WS-Addressing propiedad de IBM para permitirle crear el contenido de las referencias de punto final, y reflexionar sobre él, además de configurar o recuperar las propiedades de direccionamiento de mensajes (MAP) de WS-Addressing de los mensajes de servicios web.
No puede utilizar las clases de la API JAX-WS estándar con estas SPI de propietario. Sin embargo, puede convertir las referencias de punto final creadas utilizando las clases de la API JAX-WS estándar para las instancias de la clase com.ibm.websphere.wsaddressing.EndpointReference, utilizando la clase com.ibm.websphere.wsaddressing.jaxws21.EndpointReferenceConverter de propietario. A continuación, puede utilizar las referencias de punto final convertidas con las SPI de propietario.
Las interfaces de programación de este tema se describen con todo detalle en la documentación sobre la SPI WS-Addressing de IBM.
Creación, refinamiento y razonamiento del contenido de las referencias de punto final

La SPI amplía la API de WS-Addressing de propietario com.ibm.websphere.wsaddressing.EndpointReference para proporcionar un número de métodos adicionales a través de la interfaz com.ibm.wsspi.wsaddressing.EndpointReference. Puede ejecutar cast en las instancias de com.ibm.websphere.wsaddressing.EndpointReference para com.ibm.wsspi.wsaddressing.EndpointReference, para así poder acceder a estas funciones adicionales.
Del mismo modo, la SPI com.ibm.wsspi.wsaddressing.EndpointReferenceManager amplía el conjunto de funciones proporcionadas en la API com.ibm.websphere.wsaddressing.EndpointReferenceManager.
- Crear referencias de punto final
- Cree objetos EndpointReference especificando el URI del punto final al que el objeto EndpointReference debe representar, mediante la operación createEndpointReference(URI) o la operación EndpointReferenceManager.createEndpointReference(AttributedURI). Estos métodos difieren del método createEndpointReference proporcionado en el nivel de API, de forma que no generen automáticamente el URI para la instancia de EndpointReference. Puede utilizar estos métodos cuando sepa que el URI del punto final es estable, por ejemplo, en un entorno de prueba sin restricciones de despliegue.
- Correlación entre representaciones XML y Java™ de una referencia de punto final
- Puede serializar las instancias de la interfaz EndpointReference en sus instancias del elemento SOAP correspondiente utilizando la operación EndpointReference.getSOAPElement. También puede deserializar los elementos SOAP de tipo EndpointReferenceType en su representación Java EndpointReference correspondiente por medio de la operación EndpointReference.createEndpointReference(SOAPElement). Es posible que estas interfaces de serialización y deserialización les resulte útiles si está creando enlazadores para tipos que contienen instancias de EndpointReference.
- Utilice los tipos de parámetros de referencia más complejos
- Las interfaces de propietario que se proporcionan a nivel de API están limitadas a los parámetros de referencia de tipo xsd:string que permiten un modelo de programación más sencillo. Las SPI amplían este soporte para permitir parámetros de referencia del tipo <xsd:any>. La interfaz EndpointReference
proporciona mecanismos para obtener y establecer los parámetros de referencia como elementos SOAP. Adicionalmente, la clase EndpointReferenceManager proporciona la operación
getSOAPElementReferenceParameterFromMessageContext que permite a los puntos finales de recepción adquirir parámetros de referencia del mensaje de entrada que no son de tipo
serie.Nota: Cuando se invoca un servicio con un objeto EndpointReference que contiene un parámetro de referencia, debe crear el parámetro de referencia utilizando un objeto QName completo con todas las partes: namespace, localpart y prefix. Si el objeto QName no está completo, las invocaciones de servicio fallarán.
- Proceso de establecer y razonar el contenido de las referencias de punto final
- La interfaz EndpointReference proporciona operaciones para establecer y razonar el contenido de una instancia EndpointReference como, por ejemplo, sus propiedades address y metadata de WS-Addressing. Se proporcionan interfaces adicionales para representar artefactos que componen una referencia de punto final: Metadata, AttributedURI, y ServiceName. Las instancias de estas interfaces se crean utilizando las operaciones proporcionadas por la clase WSAddressingFactory de propietario.
- Adquirir y cambiar el espacio de nombres soportado
- El soporte de WS-Addressing en este producto permite varios espacios de nombres. Las operaciones setNamespace y getNamespace proporcionadas en la interfaz EndpointReference de propietario permiten cambiar y adquirir el espacio de nombres asociado a un objeto EndpointReference determinado. La serialización con los elementos SOAP se realiza según el espacio de nombres del objeto EndpointReference. De manera predeterminada, el espacio de nombres de la referencia del punto final de destino (la referencia de punto final establecida como propiedad com.ibm.websphere.wsaddressing.WSAConstants.WSADDRESSING_DESTINATION_EPR en el contexto de la solicitud del objeto BindingProvider de JAX-WS o el objeto Stub o Call de JAX-RPC), define el espacio de nombres de las propiedades de direccionamiento de mensajes del mensaje.
Configuración y recuperación de las propiedades de direccionamiento de mensajes de WS-Addressing

Configuración de las propiedades de direccionamiento de mensajes de WS-Addressing en mensajes salientes:
Nombre de propiedad (de tipo serie) | Tipo Java del valor de propiedad | Nombres MAP de WS-Addressing abstractos, utilizando el convenio de notación del conjunto de información W3C XML | Valor predeterminado |
---|---|---|---|
WSADDRESSING_DESTINATION_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [destino] URI |
No establecido Tenga en cuenta que esta propiedad se incluye con la API. |
WSADDRESSING_FROM_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [punto final de origen] | No establecido |
WSADDRESSING_REPLYTO_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [punto final de respuesta] | Puede ser 'none', si el mensaje es unidireccional sin respuesta o no establecido. Para los mensajes asíncronos bidireccionales de las aplicaciones JAX-WS, esta propiedad se genera automáticamente. En esta situación, si se intenta establecer esta propiedad, se genera la excepción javax.xml.ws.WebServiceException. Para los mensajes asíncronos bidireccionales puede establecer esta propiedad sólo si la dirección de referencia de punto final es el URI anónimo. Si la dirección no es el URI anónimo, se genera la excepción javax.xml.ws.WebServiceException. |
WSADDRESSING_FAULTTO_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [punto final de anomalía] | No establecido Si intenta establecer esta propiedad para mensajes bidireccionales asíncronos en aplicaciones JAX-WS, se genera una excepción javax.xml.ws.WebServiceException. Para los mensajes síncronos bidireccionales puede establecer esta propiedad sólo si la dirección de referencia de punto final es el URI anónimo. Si la dirección no es el URI anónimo, se genera la excepción javax.xml.ws.WebServiceException. |
WSADDRESSING_RELATIONSHIP_SET | java.util.Set con instancias de com.ibm.wsspi.wsaddressing.Relationship | [relación] | No establecido |
WSADDRESSING_MESSAGE_ID | com.ibm.wsspi.wsaddressing.AttributedURI | [ID de mensaje] | Se genera y se establece en un valor exclusivo |
WSADDRESSING_ACTION | com.ibm.wsspi.wsaddressing.AttributedURI | [acción] | Se genera y se establece, según la especificación WS-Addressing |
WSADDRESSING_OUTBOUND_NAMESPACE | Serie | none | El espacio de nombres WS-Addressing de la propiedad WSADDRESSING_DESTINATION_EPR, si se especifica, de lo contrario, el espacio de nombres predeterminado |
Recuperación de las propiedades de direccionamiento de mensajes WS-Addressing desde los mensajes de entrada:
Nombre de propiedad de contexto de mensaje (de tipo serie) | Tipo Java del valor de propiedad | Nombre MAP de WS-Addressing abstracto, utilizando el convenio de notación del conjunto de información W3C XML |
---|---|---|
WSADDRESSING_INBOUND_TO | com.ibm.wsspi.wsaddressing.AttributedURI | [destino] |
Ninguna propiedad específica. Utilice el método EndpointReferenceManager.getReferenceParameter(nombre QName) para obtener el MAP asociado. | Cualquier tipo | [parámetros referencia]* |
WSADDRESSING_INBOUND_FROM_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [punto final de origen] |
WSADDRESSING_INBOUND_REPLYTO_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [punto final de respuesta] |
WSADDRESSING_INBOUND_FAULTTO_EPR | com.ibm.websphere.wsaddressing.EndpointReference | [punto final de anomalía] |
WSADDRESSING_INBOUND_RELATIONSHIP | java.util.Set con instancias de com.ibm.wsspi.wsaddressing.Relationship | [relación] |
WSADDRESSING_INBOUND_MESSAGE_ID | com.ibm.wsspi.wsaddressing.AttributedURI | [ID de mensaje] |
WSADDRESSING_INBOUND_ACTION | com.ibm.wsspi.wsaddressing.AttributedURI | [acción] |
WSADDRESSING_INBOUND_NAMESPACE | Serie | El espacio de nombres WS-Addressing del mensaje de entrada |