Also, when you are ready for the fixes, you'll need to build Narayana and AS7 from source, until there is an AS7 release containing the fixes. I can provide you with the commands if you are unsure.
JBTM-1325 is now resolved. It was a bug in the test code, rather than the TXBridge.
If you want to use the JBTM-1323
git clone https://github.com/jbosstm/narayana.git cd narayana git checkout 4.17 ./build.sh clean install -DskipTests cd .. git clone https://github.com/jbosstm/jboss-as.git cd jboss-as git checkout 4_BRANCH ./build.sh clean install -DskipTests ls build/target
I did those instructions half from memory, so give me a shout if they don't work.
Thanks Paul! You saying its bug in the test code, what does test code mean? I see the code for JaxWSTxInboundBridgeHandler.java file. Completely confused. If possible could you be able to provide the description of bug and its fix, it helps me in understanding my team.
I will try to start on it tomorrow if possible or early next week. In between I have never used git hub, could you give me some basic client tools to checkout or any eclipse plugin.
Right now, I am evaluating jbpm and web service transactions for our stack, could you please let me know when can JBossTS-4.17.3 will be released? Also, I am using Jboss7.1.1 which uses JbossTS4.16.2 version, willl 4.1.3 compatable for this server and other supported jars?
I also added a quickstart for a scenario similar to yours. This was what I created to reproduce the issue: https://github.com/jbosstm/quickstart/tree/4.17/TXBridge/wsat-jta-multi_hop
You might find it handy to use if you are still having problems.
Thanks Paul! You saying its bug in the test code, what does test code mean? I see the code for JaxWSTxInboundBridgeHandler.java file. Completely confused.
Basically, I reported two issues. The first was the one that you discovered (JBTM-1323) which is fixed by the commit above. The second was an Issue I discovered when reproducing your issue. However, it turned out to be just a problem with my quickstart and not a bug in the TXBridge.
I have never used git hub, could you give me some basic client tools to checkout or any eclipse plugin.
You only need the command line client for git. Just google for the right one for your OS. Once you have that you should be able to copy and paste the commands, in my previous post, into your console. TBH, you don't really need to understand anything about git, for this.
Could you please let me know when can JBossTS-4.17.3 will be released?
We are aiming for early December. However, you will then need a version of AS7 that contains this release. Therefore you would want the next community release of AS7 after early December. I don't know when that is due. Alternatively, you can just build from source, which should be fine if you are doing an evaluation. The commands I sent you are pretty reliable, so it really should just be a matter of copying and pasting.
Also, I am using Jboss7.1.1 which uses JbossTS4.16.2 version, willl 4.1.3 compatable for this server and other supported jars?
We only test JBossTS with the target AS7 code. Therefore I couldn't say for sure. However, if you are building JBossTS from source, you may as well build AS7 from source too. We run our full community test suite daily with the latest jbossts-4.17.x and the latest AS7.2.x so you shouldn't have any problems.
Message was edited by: Paul Robinson Fixed a typo: AS7.1.x -> AS7.2.x Clarified first sentence of last paragraph.
Thanks Paul! I appreciate for your help.
I'm going through your quickstart code and found that non of the web services have participants (implementation of Durable2PCParticipant or Volatile2PCParticipant) and enlisting the pariticipant to the transaction manager (TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(newParticipant, "WS1:"+transactionId)).
As per the documentation, I thought for every web service to participate in transaction (WS-AT), these steps are necessary. All the web services need to have Participant implementaion and enlisting the participant via transaction manager so that the coordinator knows the participants of the transaction. Please understand me if i am wrong.
You only need to implement participants if you are using just WS-AT. Because your services are using JTA and the TXBridge, the participants are created for you. Essentially, the subordinate JTA transaction is wrapped in a WS-AT participant and enlisted in the incoming WS-AT transaction.
In our documentation we have a document for the TXBridge. It's worth reading and not too long.
If both options (Just WS-AT and TXBridge) are viable for my web service, which would you recommend?
By using the TXBridge, I don't have to implement participants and managers but are there any cons compared to just WS-AT?
leaning towards this option because I don't have to do extra coding
If I implement just WS-AT then what exactly goes in the implementation class of the manager? especially for commit and rollback
If your service uses JTA (which most services would) to update a database or send a JMS message (for example); then I would recomend you go with the TXBridge. Raw WS-AT is appropriate if you need to write the participants yourself. Typically, one should use the TXBridge until you have a good reason not to.
Also, you can use a hybrid approach, if you really need a WS-AT participant. Maybe your service uses JTA, but you also want to hook into and maybe influence the WS-AT protocol. Here you would use the TXBridge to bridge the WS-AT transaction onto the JTA transaction; but also enlist your own participant so that you can be involved in the WS-AT transaction. So, by using the TXBridge, you are not precluding more advanced behavior in the future.