Class WildflyTransactionClientTxBridgeIntegrationHandler
- All Implemented Interfaces:
jakarta.xml.ws.handler.Handler<jakarta.xml.ws.handler.MessageContext>
Handler integrating the handle message event with WildFly Transaction Client (WFTC) SPI.
This handler manages the outbound processing where it has to be processed
before the OptionalJaxWSTxInboundBridgeHandler.
Check the handler enlistment at XTSHandlerDeploymentProcessor.updateXTSEndpoint(String, EndpointMetaData, List, DeploymentUnit).
NOTE: the order of the Jakarta XML Web Services handlers are defined as:
For outbound messages handler processing starts with the first handler in the chain
and proceeds in the same order as the handler chain.
For inbound messages the order of processing is reversed.
This handler works on outbound side. The inbound side is handled by WS integration class:
AbstractInvocationHandler.invokeInternal(Endpoint, Invocation).
There is the place where WFTC imports the Narayana transaction for the incoming WS message.
The outbound filter is useful for suspending the WFTC wrapper transaction. Otherwise only the underlaying Narayana transaction is suspended
(Narayana XTS txbridge inbound filter does so).
Then when the call leaves EJB there is invoked handler TransactionRollbackSetupAction verifying existence of the transactions.
If the the WFTC transaction is not suspended then the setup action rolls-back it which leads to an errors in the server log.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose(jakarta.xml.ws.handler.MessageContext context) booleanhandleFault(jakarta.xml.ws.handler.MessageContext context) booleanhandleMessage(jakarta.xml.ws.handler.MessageContext messageContext)
-
Constructor Details
-
WildflyTransactionClientTxBridgeIntegrationHandler
public WildflyTransactionClientTxBridgeIntegrationHandler()
-
-
Method Details
-
handleMessage
public boolean handleMessage(jakarta.xml.ws.handler.MessageContext messageContext) - Specified by:
handleMessagein interfacejakarta.xml.ws.handler.Handler<jakarta.xml.ws.handler.MessageContext>
-
handleFault
public boolean handleFault(jakarta.xml.ws.handler.MessageContext context) - Specified by:
handleFaultin interfacejakarta.xml.ws.handler.Handler<jakarta.xml.ws.handler.MessageContext>
-
close
public void close(jakarta.xml.ws.handler.MessageContext context) - Specified by:
closein interfacejakarta.xml.ws.handler.Handler<jakarta.xml.ws.handler.MessageContext>
-