webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  JDBC XA Transaction Confusing

    Posted Thu June 26, 2008 09:42 PM

    I am using an Integration Server 7.1.1 JDBC adapter in an XA transaction to perform an update to an Oracle database, but an error is occurring upon commit, indicating that a different JDBC adapter is failing, and then the rollback fails anyway, so the commit worked after all.

    My flow looks basically like this:

    SEQUENCE (exit on success)

    SEQUENCE (try - exit on failure)

    pub.art.transaction:startTransaction
    myUpdateSqlAdapter
    pub.art.transaction:commitTransaction (input transactionName mapped from startTransaction)
    SEQUENCE (catch - exit on success)
    pub.flow.getLastError
    pub.flow.debugLog
    pub.art.transaction:rollbackTransaction

    The error is like this:

    [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service someOtherSqlAdapter

    followed by a traceback from art.transaction.rollbackTransaction.

    Anybody see anything wrong with my sequences or why the wrong JDBC adapter is getting called?


    #Adapters-and-E-Standards
    #Integration-Server-and-ESB
    #webMethods


  • 2.  RE: JDBC XA Transaction Confusing

    Posted Sun June 29, 2008 08:12 PM

    Try putting the StartTransaction outside and before the try/catch sequence.


    #webMethods
    #Adapters-and-E-Standards
    #Integration-Server-and-ESB


  • 3.  RE: JDBC XA Transaction Confusing

    Posted Mon June 30, 2008 03:48 PM

    It sounds like you’re only updating one database, right? Then why use XA? Use Local transaction.

    • Percio

    #webMethods
    #Adapters-and-E-Standards
    #Integration-Server-and-ESB


  • 4.  RE: JDBC XA Transaction Confusing

    Posted Tue July 01, 2008 08:56 PM

    Do you have any adapter service with local transaction in the same flow service ??

    A single transaction context can contain any number of XA_TRANSACTION connections but no more than one LOCAL_TRANSACTION connection. If the flow contains adapter services that use more then one LOCAL_TRANSACTION connection, the you must use explicit transactions.

    Also note that we do get this error if try to execute the flow service which has implicit transactions in debug more.


    #webMethods
    #Integration-Server-and-ESB
    #Adapters-and-E-Standards


  • 5.  RE: JDBC XA Transaction Confusing

    Posted Thu January 26, 2017 06:06 AM

    Catch block should be exit on DONE.

    Sorry for the late response


    #Integration-Server-and-ESB
    #webMethods
    #Adapters-and-E-Standards


  • 6.  RE: JDBC XA Transaction Confusing

    Posted Thu January 26, 2017 09:11 AM

    Hi,

    additonal information:

    the startTransactions should be before the first sequence as otherwise the transaction id will not be available for the rollback step.

    I cannot see the requirement for a XA Transaction in your code sample.

    Regards,
    Holger


    #Integration-Server-and-ESB
    #webMethods
    #Adapters-and-E-Standards