wsit
  1. wsit
  2. WSIT-1525

2 Tranaction id's created for consequent webservice operation under a single User Transaction

    Details

    • Type: Bug Bug
    • Status: Reopened
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: current
    • Component/s: transaction
    • Labels:
      None
    • Environment:

      glassfish 3.1

      Description

      While invoking 2 webservice operations with in a UserTransaction, I see there are 2 different transactions created.

      The client invocation of the service looks like :

      ut.begin();
      simple.client.SimpleWebservice port = service.getSimpleWebservicePort();
      out.println("Transaction id at server"+port.getId());
      out.println(port.mandatory("test"));
      ut.rollback();

      Each of the out.println in the servlet prints the obtained globalTransactionId from xid of the XAResourceImpl.

      1. server.log
        66 kB
        Sreekanth

        Activity

        Hide
        Sreekanth added a comment -

        attaching Glassfish server log

        Show
        Sreekanth added a comment - attaching Glassfish server log
        Hide
        Sreekanth added a comment -

        Netbeans applications for service and client

        Show
        Sreekanth added a comment - Netbeans applications for service and client
        Hide
        Sreekanth added a comment -

        Steps to reproduce:
        ====================
        1)Unzip the attached netbeans applications.
        2)Open the applications in netbeans
        3)Resolve the missing server problem
        4)Now clean build and deploy the server side application "TxAppMandatory"
        5)Now clean build, deploy and run the client app. "TxAppMandatoryClient"
        6)Now a browser window will be opened invoking the servlet, and you will see 2 transaction id's printed on the browser.

        Show
        Sreekanth added a comment - Steps to reproduce: ==================== 1)Unzip the attached netbeans applications. 2)Open the applications in netbeans 3)Resolve the missing server problem 4)Now clean build and deploy the server side application "TxAppMandatory" 5)Now clean build, deploy and run the client app. "TxAppMandatoryClient" 6)Now a browser window will be opened invoking the servlet, and you will see 2 transaction id's printed on the browser.
        Hide
        Sreekanth added a comment -

        This is actually Tx09 test from function tests in our repository.We have re-implemented the test code for Metro2.1 since the WS-AT implementation in metro itself changed many classes are removed and changed.

        With the older ws-at implementation all the test cases in this test were passing.

        Now in Tx09 test of our functional test cases, there are 2 failures out of 10 test cases,failing due this.

        Show
        Sreekanth added a comment - This is actually Tx09 test from function tests in our repository.We have re-implemented the test code for Metro2.1 since the WS-AT implementation in metro itself changed many classes are removed and changed. With the older ws-at implementation all the test cases in this test were passing. Now in Tx09 test of our functional test cases, there are 2 failures out of 10 test cases,failing due this.
        Hide
        arjavdesai added a comment -

        submitted revision 6915

        Show
        arjavdesai added a comment - submitted revision 6915
        Hide
        arjavdesai added a comment -

        I am reverting change 6915 as it introduces failures in cross-domain tests.

        Show
        arjavdesai added a comment - I am reverting change 6915 as it introduces failures in cross-domain tests.

          People

          • Assignee:
            arjavdesai
            Reporter:
            Sreekanth
          • Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: