4 Replies Latest reply on Nov 9, 2009 3:55 AM by h.wolffenbuttel

    Problem with JMS XA client sending msg to a remote server

      I originally posted in the Messaging Forum but this may be an ESB specific configuration problem.

      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=163324

      I saw a post recommending use of the jms-jca-provider for transactional support. I updated my jboss-esb.xml but saw no change from the client side.

      Any suggestions?

        • 1. Re: Problem with JMS XA client sending msg to a remote serve

          Here is my jboss-esb.xml config:

          <?xml version="1.0"?>
          <jbossesb parameterReloadSecs="5" xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"
          >
           <providers>
           <jms-jca-provider name="LocalJBossMessagingProvider" connection-factory="ConnectionFactory">
           <jms-bus busid="TbotJmsGatewayChannel">
           <jms-message-filter dest-name="queue/TbotJmsGateway" dest-type="QUEUE" transacted="true" />
           </jms-bus>
           <jms-bus busid="TbotJmsEsbChannel">
           <jms-message-filter dest-name="queue/TbotJmsEsb" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcJmsGatewayChannel">
           <jms-message-filter dest-name="queue/BillingCenterJmsGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcJmsEsbChannel">
           <jms-message-filter dest-name="queue/BillingCenterJmsEsb" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TosSqlEsbChannel">
           <jms-message-filter dest-type="QUEUE" dest-name="queue/TosSqlEsb" />
           </jms-bus>
           <jms-bus busid="GpSqlEsbChannel">
           <jms-message-filter dest-type="QUEUE" dest-name="queue/GpSqlEsb" />
           </jms-bus>
           <jms-bus busid="FaultToEsbChannel">
           <jms-message-filter dest-name="queue/FaultToESB" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="FaultToGatewayChannel">
           <jms-message-filter dest-name="queue/FaultToGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="MessageRouterESBChannel">
           <jms-message-filter dest-name="queue/MessageRouter" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="MessageRouterGWChannel">
           <jms-message-filter dest-name="queue/MessageRouterGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotCheckRequestedBcESBChannel">
           <jms-message-filter dest-name="queue/TbotCheckRequestedBc" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotCheckRequestedBcGWChannel">
           <jms-message-filter dest-name="queue/TbotCheckRequestedBcGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcAgencyCreatedUpdatedESBChannel">
           <jms-message-filter dest-name="queue/BcAgencyCreatedUpdated" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcAgencyCreatedUpdatedGWChannel">
           <jms-message-filter dest-name="queue/BcAgencyCreatedUpdatedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyCreatedESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyCreated" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyCreatedGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyCreatedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyIssuedESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyIssued" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyIssuedGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyIssuedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyReturnedESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyReturned" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyReturnedGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyReturnedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyRejectedESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyRejected" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyRejectedGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyRejectedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCreatedAckESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCreatedAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCreatedAckGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCreatedAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyIssuedAckESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyIssuedAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyIssuedAckGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyIssuedAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyReturnedAckESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyReturnedAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyReturnedAckGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyReturnedAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyRejectedAckESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyRejectedAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyRejectedAckGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyRejectedAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotInvoicePastDueESBChannel">
           <jms-message-filter dest-name="queue/TbotInvoicePastDue" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotInvoicePastDueGWChannel">
           <jms-message-filter dest-name="queue/TbotInvoicePastDueGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyCashReceivedESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyCashReceived" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyCashReceivedGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyCashReceivedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCashReceivedAckESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCashReceivedAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCashReceivedAckGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCashReceivedAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="GpCheckRequestedTbotESBChannel">
           <jms-message-filter dest-name="queue/GpCheckRequestedTbot" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="GpCheckRequestedTbotGWChannel">
           <jms-message-filter dest-name="queue/GpCheckRequestedTbotGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="GpCommissionCheckRequestedTbotESBChannel">
           <jms-message-filter dest-name="queue/GpCommissionCheckRequestedTbot" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="GpCommissionCheckRequestedTbotGWChannel">
           <jms-message-filter dest-name="queue/GpCommissionCheckRequestedTbotGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcCheckUpdatedESBChannel">
           <jms-message-filter dest-name="queue/BcCheckUpdated" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcCheckUpdatedGWChannel">
           <jms-message-filter dest-name="queue/BcCheckUpdatedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotCheckUpdatedESBChannel">
           <jms-message-filter dest-name="queue/TbotCheckUpdated" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotCheckUpdatedGWChannel">
           <jms-message-filter dest-name="queue/TbotCheckUpdatedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotCommissionStatementRequestedGWChannel">
           <jms-message-filter dest-name="queue/TbotCommissionStatementRequestedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotCommissionStatementRequestedESBChannel">
           <jms-message-filter dest-name="queue/TbotCommissionStatementRequested" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCancelRequestedESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCancelRequested" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCancelRequestedGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCancelRequestedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyCancelledGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyCancelledGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyCancelledESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyCancelled" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCancelledAckESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCancelledAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyCancelledAckGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyCancelledAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyReinstateRequestedESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyReinstateRequested" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyReinstateRequestedGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyReinstateRequestedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyReinstatedESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyReinstated" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyReinstatedGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyReinstatedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyReinstatedAckESBChannel">
           <jms-message-filter dest-name="queue/BcPolicyReinstatedAck" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="BcPolicyReinstatedAckGWChannel">
           <jms-message-filter dest-name="queue/BcPolicyReinstatedAckGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyIssueRequestedGWChannel">
           <jms-message-filter dest-name="queue/TbotPolicyIssueRequestedGateway" dest-type="QUEUE" />
           </jms-bus>
           <jms-bus busid="TbotPolicyIssueRequestedESBChannel">
           <jms-message-filter dest-name="queue/TbotPolicyIssueRequestedESB" dest-type="QUEUE" />
           </jms-bus>
           </jms-jca-provider>
           <sql-provider name="TwiatdwSqlProvider"
           url="jdbc:jtds:sqlserver://wdbdev05:1433/TWIATDW;tds=8.0;prepareSQL=2;sendStringParametersAsUnicode=false;domain=twia.org;instance=dev"
           driver="net.sourceforge.jtds.jdbc.Driver" username="TBOT_User" password="Jg58zuTw" >
           <sql-bus busid="TosSqlChannel">
           <sql-message-filter tablename="ESB_MESSAGE" status-column="STATUS" message-column="message"
           message-id-column="PK_ESB_MESSAGE" order-by="DATE_CREATED" insert-timestamp-column="PROCESS_TIMESTAMP" post-delete="false"
           error-delete="false" where-condition="HOST_NAME = 'twia506'"/>
           </sql-bus>
           </sql-provider>
           <sql-provider name="WindSqlProvider"
           url="jdbc:jtds:sqlserver://waccdev-vmlag:1433/WIND;tds=8.0;prepareSQL=2;sendStringParametersAsUnicode=false"
           driver="net.sourceforge.jtds.jdbc.Driver" username="sa" password="SQLServer2K5" >
           <sql-bus busid="GpSqlChannel">
           <sql-message-filter tablename="ESB_MESSAGE" status-column="STATUS" message-column="message"
           message-id-column="PK_ESB_MESSAGE" order-by="DATE_CREATED" insert-timestamp-column="PROCESS_TIMESTAMP" post-delete="false"
           error-delete="false" where-condition="BUS_HOST_NAME = '172.16.2.203'"/>
           </sql-bus>
           </sql-provider>
           </providers>
           <services>
           <service name="ExceptionHandlerService" category="ExceptionHandlerCategory" description="Central service for handling exceptions on the ESB">
           <listeners>
           <jms-listener name="FaultToGatewayListener" busidref="FaultToGatewayChannel" is-gateway="true" />
           <jms-listener name="FaultToEsbListener" busidref="FaultToEsbChannel" />
           </listeners>
           <actions mep="OneWay">
           <action name="ExceptionHandlerAction" class="org.twia.esb.action.exception.ExceptionHandlerAction" />
           </actions>
           </service>
           <service name="TosEnricherService" category="gateway" description="TosEnricherService">
           <listeners>
           <sql-listener name="TosSqlListenerGateway" busidref="TosSqlChannel" is-gateway="true" />
           <jms-listener name="TosSqlEsbListener" busidref="TosSqlEsbChannel" />
           </listeners>
           <actions mep="OneWay">
           <action name="TosEnricher" class="org.twia.esb.action.TosEnricher" process="process"></action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TosEnricherStaticRouter" class="org.jboss.soa.esb.actions.StaticRouter" process="process">
           <property name="destinations">
           <route-to destination-name="MessageRouterService" service-category="MessageRouterService" service-name="MessageRouterService" />
           </property>
           </action>
           </actions>
           </service>
           <service name="GpEnricherService" category="gateway" description="GpEnricherService">
           <listeners>
           <sql-listener name="GpSqlListenerGateway" busidref="GpSqlChannel" is-gateway="true" />
           <jms-listener name="GpSqlEsbListener" busidref="GpSqlEsbChannel" />
           </listeners>
           <actions mep="OneWay">
           <action name="TosEnricher" class="org.twia.esb.action.TosEnricher" process="process"></action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="GpEnricherStaticRouter" class="org.jboss.soa.esb.actions.StaticRouter" process="process">
           <property name="destinations">
           <route-to destination-name="MessageRouterService" service-category="MessageRouterService" service-name="MessageRouterService" />
           </property>
           </action>
           </actions>
           </service>
           <service name="TbotJmsEnricherService" category="gateway" description="listens to TBOT JMS gateway, enriches message, routes">
           <listeners>
           <jms-listener busidref="TbotJmsGatewayChannel" is-gateway="true" name="TbotJmsGatewayListener" />
           <jms-listener busidref="TbotJmsEsbChannel" is-gateway="false" name="TbotJmsEsbListener" />
           </listeners>
           <actions mep="OneWay">
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/MessageRouterGateway" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="BcJmsEnricherService" category="gateway" description="listens to BillingCenter JMS gateway, enriches message, routes">
           <listeners>
           <jms-listener name="BcJmsGatewayListener" busidref="BcJmsGatewayChannel" is-gateway="true" />
           <jms-listener name="BcJmsEsbListener" busidref="BcJmsEsbChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="BcJmsStaticRouter" class="org.jboss.soa.esb.actions.StaticRouter" process="process">
           <property name="destinations">
           <route-to destination-name="MessageRouterService" service-category="MessageRouterService" service-name="MessageRouterService" />
           </property>
           </action>
           </actions>
           </service>
           <!--
           MessageRouterService changes include: -XPathLanguage.dsl expander added. This provides a mapping for the XPath commands in the CBR
           -->
           <service name="MessageRouterService" category="MessageRouterService" description="routes to different message processors depending on message type">
           <listeners>
           <jms-listener name="MessageRouterListenerGW" busidref="MessageRouterGWChannel" is-gateway="true" />
           <jms-listener name="MessageRouterListenerESB" busidref="MessageRouterESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="ContentBasedRouter" class="org.twia.esb.action.ContentBasedRouter">
           <property name="ruleSet" value="MessageRouterRules.drl" />
           <property name="ruleLanguage" value="XPathLanguage.dsl" />
           <property name="ruleReload" value="true" />
           </action>
           </actions>
           </service>
           <service name="BcAgencyCreatedUpdated" category="MessageProcessor" description="BcAgencyCreatedUpdated">
           <listeners>
           <jms-listener name="BcAgencyCreatedUpdatedGWListener" busidref="BcAgencyCreatedUpdatedGWChannel" is-gateway="true" />
           <jms-listener name="BcAgencyCreatedUpdatedESBListener" busidref="BcAgencyCreatedUpdatedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcAgencyCreatedUpdatedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcAgencyCreatedUpdatedTransform.xml" />
           </action>
           <action name="BcAgencyCreatedUpdated" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="createORUpdateProducer" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="BcPolicyCreated" category="MessageProcessor" description="BcPolicyCreated">
           <listeners>
           <jms-listener name="BcPolicyCreatedGWListener" busidref="BcPolicyCreatedGWChannel" is-gateway="true" />
           <jms-listener name="BcPolicyCreatedESBListener" busidref="BcPolicyCreatedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcPolicyCreatedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcPolicyCreatedTransform.xml" />
           </action>
           <action name="BcPolicyCreated" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="createAccountAndMakePayment" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="BcPolicyIssued" category="MessageProcessor" description="BcPolicyIssued">
           <listeners>
           <jms-listener name="BcPolicyIssuedGWListener" busidref="BcPolicyIssuedGWChannel" is-gateway="true" />
           <jms-listener name="BcPolicyIssuedESBListener" busidref="BcPolicyIssuedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcPolicyIssuedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcPolicyIssuedTransform.xml" />
           </action>
           <action name="BcPolicyIssued" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="issuePolicy" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
          
           <service name="BcPolicyReturned" category="MessageProcessor" description="BcPolicyReturned">
           <listeners>
           <jms-listener name="BcPolicyReturnedGWListener" busidref="BcPolicyReturnedGWChannel" is-gateway="true" />
           <jms-listener name="BcPolicyReturnedESBListener" busidref="BcPolicyReturnedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcPolicyReturnedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcPolicyReturnedTransform.xml" />
           </action>
           <action name="BcPolicyReturned" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="issuePolicy" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="BcPolicyRejected" category="MessageProcessor" description="BcPolicyRejected">
           <listeners>
           <jms-listener name="BcPolicyRejectedGWListener" busidref="BcPolicyRejectedGWChannel" is-gateway="true" />
           <jms-listener name="BcPolicyRejectedESBListener" busidref="BcPolicyRejectedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcPolicyRejectedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcPolicyRejectedTransform.xml" />
           </action>
           <action name="BcPolicyRejected" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="rejectPolicy" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyCreatedAck" category="MessageProcessor" description="TbotPolicyCreatedAck">
           <listeners>
           <jms-listener name="TbotPolicyCreatedAckGWListener" busidref="TbotPolicyCreatedAckGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyCreatedAckESBListener" busidref="TbotPolicyCreatedAckESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyCreatedAckTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyCreatedAckTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotCheckRequestedBc" category="MessageProcessor" description="TbotCheckRequestedBc">
           <listeners>
           <jms-listener name="TbotCheckRequestedBcGWListener" busidref="TbotCheckRequestedBcGWChannel" is-gateway="true" />
           <jms-listener name="TbotCheckRequestedBcESBListener" busidref="TbotCheckRequestedBcESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotCheckRequestedBcTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotCheckRequestedBcTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyIssuedAck" category="MessageProcessor" description="TbotPolicyIssuedAck">
           <listeners>
           <jms-listener name="TbotPolicyIssuedAckGWListener" busidref="TbotPolicyIssuedAckGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyIssuedAckESBListener" busidref="TbotPolicyIssuedAckESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyIssuedAckTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyIssuedAckTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyReturnedAck" category="MessageProcessor" description="TbotPolicyReturnedAck">
           <listeners>
           <jms-listener name="TbotPolicyReturnedAckGWListener" busidref="TbotPolicyReturnedAckGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyReturnedAckESBListener" busidref="TbotPolicyReturnedAckESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyReturnedAckTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyReturnedAckTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyRejectedAck" category="MessageProcessor" description="TbotPolicyRejectedAck">
           <listeners>
           <jms-listener name="TbotPolicyRejectedAckGWListener" busidref="TbotPolicyRejectedAckGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyRejectedAckESBListener" busidref="TbotPolicyRejectedAckESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyRejectedAckTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyRejectedAckTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotInvoicePastDue" category="MessageProcessor" description="TbotInvoicePastDue">
           <listeners>
           <jms-listener name="TbotInvoicePastDueGWListener" busidref="TbotInvoicePastDueGWChannel" is-gateway="true" />
           <jms-listener name="TbotInvoicePastDueESBListener" busidref="TbotInvoicePastDueESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotInvoicePastDueTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotInvoicePastDueTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyCancelRequested" category="MessageProcessor" description="TbotPolicyCancelRequested">
           <listeners>
           <jms-listener name="TbotPolicyCancelRequestedGWListener" busidref="TbotPolicyCancelRequestedGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyCancelRequestedESBListener" busidref="TbotPolicyCancelRequestedESBChannel"
           is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyCancelRequestedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyCancelRequestedTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="BcPolicyCancelled" category="MessageProcessor" description="BcPolicyCancelled">
           <listeners>
           <jms-listener name="BcPolicyCancelledGWListener" busidref="BcPolicyCancelledGWChannel" is-gateway="true" />
           <jms-listener name="BcPolicyCancelledListener" busidref="BcPolicyCancelledESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcPolicyCancelledTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcPolicyCancelledTransform.xml" />
           </action>
           <action name="BcPolicyCancelled" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="cancelPolicy" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyCancelledAck" category="MessageProcessor" description="TbotPolicyCancelledAck">
           <listeners>
           <jms-listener name="TbotPolicyCancelledAckGWListener" busidref="TbotPolicyCancelledAckGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyCancelledAckESBChannel" busidref="TbotPolicyCancelledAckESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyCancelledAckTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyCancelledAckTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="BcPolicyCashReceived" category="MessageProcessor" description="BcPolicyCashReceived">
           <listeners>
           <jms-listener name="BcPolicyCashReceivedGWListener" busidref="BcPolicyCashReceivedGWChannel" is-gateway="true" />
           <jms-listener name="BcPolicyCashReceivedESBListener" busidref="BcPolicyCashReceivedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="BcPolicyCashReceivedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcPolicyCashReceivedTransform.xml" />
           </action>
           <action name="BcPolicyCashReceived" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="makePayments" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyCashReceivedAck" category="MessageProcessor" description="TbotPolicyCashReceivedAck">
           <listeners>
           <jms-listener name="TbotPolicyCashReceivedAckGWListener" busidref="TbotPolicyCashReceivedAckGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyCashReceivedAckESBListener" busidref="TbotPolicyCashReceivedAckESBChannel"
           is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyCashReceivedAckTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyCashReceivedAckTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="GpCheckRequestedTbot" category="MessageProcessor" description="GpCheckRequestedTbot">
           <listeners>
           <jms-listener name="GpCheckRequestedTbotGWListener" busidref="GpCheckRequestedTbotGWChannel" is-gateway="true" />
           <jms-listener name="GpCheckRequestedTbotESBListener" busidref="GpCheckRequestedTbotESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="GpCheckRequestedTbotTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/GpCheckRequestedTbotTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="GpCheckRequestedTbot" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="Create_PremiumRefund_PayablesInvoices" />
           <property name="endpoint" value="http://waccdev-vmlag/WebService/BP_WebService_TWIA.asmx" />
           <property name="namespace" value="http://aztecsystems.com/webservices" />
           <property name="externalSystem" value="GP" />
           </action>
           </actions>
           </service>
           <service name="GpCommissionCheckRequestedTbot" category="MessageProcessor" description="GpCommissionCheckRequestedTbot">
           <listeners>
           <jms-listener name="GpCommissionCheckRequestedTbotGWListener" busidref="GpCommissionCheckRequestedTbotGWChannel" is-gateway="true" />
           <jms-listener name="GpCommissionCheckRequestedTbotESBListener" busidref="GpCommissionCheckRequestedTbotESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="GpCommissionCheckRequestedTbotTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/GpCheckRequestedTbotTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="GpCommissionCheckRequestedTbot" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="Create_Commission_PayablesInvoices" />
           <property name="endpoint" value="http://waccdev-vmlag/WebService/BP_WebService_TWIA.asmx" />
           <property name="namespace" value="http://aztecsystems.com/webservices" />
           <property name="externalSystem" value="GP" />
           </action>
           </actions>
           </service>
           <service name="BcCheckUpdated" category="MessageProcessor" description="BcCheckUpdated">
           <listeners>
           <jms-listener name="BcCheckUpdatedGWListener" busidref="BcCheckUpdatedGWChannel" is-gateway="true" />
           <jms-listener name="BcCheckUpdatedListener" busidref="BcCheckUpdatedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="BcCheckUpdatedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/BcCheckUpdatedTransform.xml" />
           </action>
           <action name="BcCheckUpdated" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="updateOutgoingPaymentInfo" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="TbotCheckUpdated" category="MessageProcessor" description="TbotCheckUpdated">
           <listeners>
           <jms-listener name="TbotCheckUpdatedGWChannel" busidref="TbotCheckUpdatedGWChannel" is-gateway="true" />
           <jms-listener name="TbotCheckUpdatedESBChannel" busidref="TbotCheckUpdatedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotCheckUpdatedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotCheckUpdatedTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotCommissionStatementRequested" category="MessageProcessor" description="TbotCommissionStatementRequested">
           <listeners>
           <jms-listener name="TbotCommissionStatementRequestedGWChannel" busidref="TbotCommissionStatementRequestedGWChannel"
           is-gateway="true" />
           <jms-listener name="TbotCommissionStatementRequestedESBChannel" busidref="TbotCommissionStatementRequestedESBChannel"
           is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotCommissionStatementRequestedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotCommissionStatementRequestedTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
          
           <service name="TbotPolicyReinstateRequested" category="MessageProcessor" description="TbotPolicyReinstateRequested">
           <listeners>
           <jms-listener name="TbotPolicyReinstateRequestedGWListener" busidref="TbotPolicyReinstateRequestedGWChannel"
           is-gateway="true" />
           <jms-listener name="TbotPolicyReinstateRequestedESBListener" busidref="TbotPolicyReinstateRequestedESBChannel"
           is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyReinstateRequestedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyReinstateRequestedTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyReinstated" category="MessageProcessor" description="TbotPolicyReinstated">
           <listeners>
           <jms-listener name="TbotPolicyReinstatedGWListener" busidref="TbotPolicyReinstatedGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyReinstatedListener" busidref="TbotPolicyReinstatedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyReinstatedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyReinstatedTransform.xml" />
           </action>
           <action name="TbotPolicyReinstated" class="org.twia.esb.action.SOAPClientAction">
           <property name="operation" value="reinstatePolicy" />
           <property name="endpoint" value="http://twia506:8080/axis/services/ITWIABillingCenterAPI" />
           <property name="namespace" value="api='http://api.webservices.bc.guidewire.com/'" />
           <property name="externalSystem" value="BC" />
           </action>
           </actions>
           </service>
           <service name="TbotPolicyIssueRequested" category="MessageProcessor" description="TbotPolicyIssueRequested">
           <listeners>
           <jms-listener name="TbotPolicyIssueRequestedGWListener" busidref="TbotPolicyIssueRequestedGWChannel" is-gateway="true" />
           <jms-listener name="TbotPolicyIssueRequestedESBListener" busidref="TbotPolicyIssueRequestedESBChannel" is-gateway="false" />
           </listeners>
           <actions mep="OneWay">
           <action name="TbotPolicyIssueRequestedTransform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config" value="/smooks/TbotPolicyIssueRequestedTransform.xml" />
           </action>
           <action name="validator" class="org.twia.esb.action.validation.XMLValidationAction" />
           <action name="TbotJmsRouter" class="org.jboss.soa.esb.actions.routing.JMSRouter">
           <property name="jndiName" value="queue/EsbToTbot" />
           <property name="unwrap" value="true" />
           </action>
           </actions>
           </service>
           </services>
          </jbossesb>
          


          Other than using the jms-jca-provider is there anything else needed to get XA transaction support from the client?



          • 2. Re: Problem with JMS XA client sending msg to a remote serve
            h.wolffenbuttel

            Hi,

            You have put your "transacted" attribute on your gateway but not on your JMS-channel. You might want to try to add the attribute on "TbotJmsEsbChannel".

            Futhermore the XA transaction support depends on how your configuration of your JMS-datasource. You might want to try to use a xa-datasource (if you not already have) instead of a tx-datasource.

            Regards,

            Hans

            • 3. Re: Problem with JMS XA client sending msg to a remote serve

              Thanks for your response. Unfortunately your suggestions did not help.

              What do I need to do to get a ESB JMS client's transaction to roll back if an exception occurs in the client container?

              Jboss AS Server1 === sends JMS msg ==> Jboss ESB Server2

              The message is never successfully sent if I set transaction = true on the client side. I've tried several connection factories: ConnectionFactory, XAConnectionFactory and java:/JmsXA.

              • 4. Re: Problem with JMS XA client sending msg to a remote serve
                h.wolffenbuttel

                Hi,

                You need the XAConnectionfactory with the XA-datasource. Also you need to set the JMS-queue that you use for the transaction the transacted parameter to true. If I understand de JBoss ESB transaction correctly the following happens:

                JBoss AS server => send JMS msg => JMS-queue ESB
                fault:
                get msg from JMS-queue and start transaction => Service Action pipeline => fault in pipeline => rollback in pipline => msg back in JMS-queue => transaction finished
                No fault:
                get msg from JMS-queue and start transaction => Service Action pipeline => send msg to next (ESB) service => transaction finished

                The message will be transported between queue's in a transactional fashion. Since each service has its own queue, the message will rollback to the queue of the service it is currently in.

                Maybe you are looking for a rollback which includes rollingback more services at once?

                Regards,

                Hans