El comportamiento ha cambiado en WebSphere Application Server V8 en cómo se determina el valor de la acción SOAP en los mensajes de salida para los clientes de asignación JAX-WS. En los releases anteriores a V8, si una acción SOAP no está proporcionada por la aplicación de cliente de asignación, el entorno de ejecución JAX-WS no envía la acción SOAP correcta en el mensaje de salida. En su lugar, establece la acción en una operación anónima. Como novedad en V8, si la acción SOAP no está proporcionada por la aplicación de cliente, el entorno de ejecución JAX-WS analizará el mensaje de salida para determinar la operación que se está invocando y la utilizará para determinar el valor adecuado de la acción SOAP.
Esta regla marca las llamadas para crear un cliente de asignación cuando:
Prácticas recomendadas de codificación para WebSphere Application Server tradicional y Liberty es para que la aplicación cliente proporcione una acción SOAP con JAX-WS javax.xml.ws.BindingProvider Propiedades SOAPACTION_USE_PROPERTY y SOAPACTION_URI_PROPERTY . Se utilizará la acción SOAP proporcionada y el análisis del mensaje de salida no se producirá independientemente del valor del DISPATCH_CLIENT_OUTBOUND_RESOLUTION .
Este ejemplo muestra los procedimientos recomendados de codificación con la acción SOAP establecida en el contexto de solicitud. Si el SOAPACTION_URI_PROPERTY no está establecido o si SOAPACTION_USE_PROPERTY se establece en false , la llamada al createDispatch() Esta regla marcará el método.
Ejemplo:Como este análisis puede ser costoso, puede establecerse una propiedad en WebSphere Application Server tradicional a nivel de sistema (para inhabilitar siempre el análisis) o en el contexto de mensaje de solicitud JAX-WS (para inhabilitar el análisis según el mensaje). Si se inhabilita el análisis, la acción SOAP en el mensaje de salida continuará establecida en una operación anónima como antes. La propiedad de inhabilitación se define como constante org.apache.axis2.jaxws.Constants.DISPATCH_CLIENT_OUTBOUND_RESOLUTION con un valor de serie de jaxws.dispatch.outbound.operation.resolution.enable . Si la propiedad no está establecida, se interpreta como la serie true , habilitando la resolución de la operación de salida. Estableciendo la propiedad en false inhabilitará la resolución de la operación de salida.
Para obtener información adicional, consulte: