14 Replies Latest reply on Nov 17, 2009 2:11 AM by willboss

    Example using Webservices and the JBossTM in a ws-a transact

    c4s4l

      Hi all,

      I have read the Web Service Transactions Programmers Guide for JBoss Transaction Service 4.6.0 and I saw the XTS API. Nevertheless I would like to try jbosstm using an example with webservices in a ws-a transaction. Is there any example besides the jts-example.tar that could be simple to use and check the jbosstm working properly?

      BRegards,
      Sergio

        • 1. Re: Example using Webservices and the JBossTM in a ws-a tran
          adinn

          The XTS release contains a demonstration application which exercises both the WS-AT and the WS-BA protocol implemenations.

          Build the XTS install tree by typing 'ant clean install' in the XTS top level directory.
          Look at the output directory xts-install and you will find a sub-directory called demo.
          Edit the jboss properties file in xts-install/demo and substitute values for the HOSTNAME, PORT and URLSTUB used by your app server (use the defaults if you have not configured any of these)
          Type 'ant deploy' -- the demo app will be installed in your JBoss app server.
          n.b. you need to set JBOSS_HOME to point to your JBoss server install root directory for this to work.

          The sources for the demo are located in XTS/demo/src and they use the 1.1 WS-* protocol implementation and JaxWS for the client <--> web service communication. There is another version based on WS-* 1.0 and JaxRPC in XTS/demo/srcrpc.

          • 2. Re: Example using Webservices and the JBossTM in a ws-a tran
            c4s4l

            Thank you for your answer adinn.
            Please correct me if I made a step wrong from the following:

            1. I've downloaded the jbossts-full-4.2.3.SP5-src.zip.

            2. Made ant in root and in antbuildsystem dir.

            3.When I make the "ant clean install" I get the error:
            "64: D:\..\JBOSSTS_4_2_3_SP5\install\lib not found".

            4.After creating the folders manually and making ant clean install I get the error: "build.xml:85: The ArjunaJTS build currently requires jdk1.4 to build".

            5.After selecting the jdk1.4 and making ant with it I get the error:"72: java.lang.UnsupportedClassVersionError: com/hp/mw/buildsystem/ant/ClasspathBuilder (Unsupported major.minor version 49.0)"

            can you help? do I have to make another ant install before?

            thanks,
            Sergio

            • 3. Re: Example using Webservices and the JBossTM in a ws-a tran
              adinn

              Hmm, so first you read the XTS manual for JBossTS 4.6.0 and then try to build XTS from JBossTS 4.2.3.SP5. Did you not consider that might be a good idea to read the manual for the version you are actually going to build?

              Same applies when you ask for advice. The instructions I gave you were for building 4.6.0. Perhaps you might like to try downloading that version of JBossTS?

              After doing so you should run

              ant jbossjta

              in the top level of the TS directory then cd to the XTS directory and follow the instructions I provided earlier to build and install XTS. You will also need to have installed JBossAS 5.0.0.GA or upwards with JBossTS 4.6.0.

              If you really want to build XTS based on 4.2.3 you can but you will have to use at least SP7 as SP5 contains a show-stopper bug which will break XTS. With this version then you need to have installeda version of JBossAS 4.* Look at file INSTALL in the ArjunaJTS subdirectory of the TS release for further instructions. Personally, I woudl recommend using AS 5 and TS 4.6 as there have been many improvements to both the AS and XTS included into these later releases

              • 4. Re: Example using Webservices and the JBossTM in a ws-a tran
                c4s4l

                Sorry about the mistake with the versions, my bad.
                Now I have the JBossTS 4.6.0 and JBossAS 5.0.0.GA. When I try to do the ant jbossjta I get the error:
                " C:\jboss\JBOSSTS_4_6_0_GA\atsintegration\build.xml:162: No files specified for filelist.". I've tried ant jbossjts and it works thow. Do you know what is the problem? Is there an Installation Guide for JBossTS 4.6.0?

                Thanks,
                Sérgio

                • 5. Re: Example using Webservices and the JBossTM in a ws-a tran
                  ben.cotton2

                   


                  " C:\jboss\JBOSSTS_4_6_0_GA\atsintegration\build.xml:162: No files specified for filelist.".


                  I have seen this exact error recently. When you build JBoss AS 5.00GA from $JBOSS_HOME/build/ make sure you type

                  $ ./build.sh (or build.bat if on Windows)

                  If you just type 'ant' directly from the command line, the build will fail (even though ant's final stdout message says "BUILD SUCCESSFUL"). The AS build's failure causes the error message you are seeing when you try to build JBOSS TS via

                  ant jbossjta




                  • 6. Re: Example using Webservices and the JBossTM in a ws-a tran
                    c4s4l

                    Thanks for your reply Ben.
                    I did not understood completely what you have said. Nevertheless the JbossTS does not contain a build.bat to compile insted of the ant jbossjta. In case you where talking about the build.bat from jbossAS it self, i've compiled it with the build.bat and tried later the ant jbossjta and the error appeared again. Is this what you have explained?

                    Thnks,
                    Sergio

                    • 7. Re: Example using Webservices and the JBossTM in a ws-a tran
                      ben.cotton2

                      I am using JBOSS TS 4.6.0 CR1 (not GA) and the build worked fine. Try these steps in order

                      0. If you are using cygwin for Windows, make sure you use "C:/" for the first part your JBOSS_HOME identity not "/cygdrive/c/"
                      1. Go to your JBOSS AS build directory (mine is C:/users/buddy/workspace/JBoss-AS-5.x/build/)
                      2. type './build.bat'
                      3. Set JBOSS_HOME to your just-built JBOSS AS output dir (mine is JBOSS_HOME=C:/users/buddy/workspace/JBoss-AS-5.x/build/output/jboss-5.1.0.CR1/)
                      4. Go to your JBOSS TS build directory (mine is C:/users/buddy/workspace/JBOSSTS_4_6_0_CR1
                      5. type 'ant jbossjta'

                      That should work. Let me know if you still see any build errors.

                      • 8. Re: Example using Webservices and the JBossTM in a ws-a tran
                        c4s4l

                        Sorry for just replying now but the foruns were off :)
                        Well, I follow all the steps you said. The only difference is that i'm using the jboss-5.0.0.CR2 version. I did not find the 5.1.0.CR1 that you use. I'm using windows but not cygwin. I have ant and maven installed and in the path variable.
                        I've runned build.bat from jboss build dir and it gave me the error "resource not found - jboss-remoting:jar:2.4.0.CR1", but I tried again and this time it have downloaded the maven dependency and the build was successful.
                        After this I've set the JBOSS_HOME to C:/jboss/build/output/jboss-5.0.0.CR2.
                        Then I made ant jbossjta for the JBOSS TS 4.6.0 CR1 and it returned the same error: ' C:\jboss\JBOSSTS\atsintegration\build.xml:162: No files specified for filelist'

                        can you help? I just want to run the XTS examples :(

                        BRegards,
                        Sergio

                        • 9. Re: Example using Webservices and the JBossTM in a ws-a tran
                          ben.cotton2

                          Sergio, First of all I appreciate that this is not a trivial process. I have experienced a few 'more than cruel' results in the process of building 'everything from scratch'. The exact build process I am going to share with you is, admittedly, a bit convoluted (as I am trying to do some 'aggressive things' with my builds re: JDK 5/6, XTS 1.1,etc). Hang in there.

                          OK. I have just confirmed all these steps using the native windows XP command line interface (not Cygwin shell, not Fedora Linux shell). So this should work for you. BTW, as a real-quick aside, the native WindowsXP command prompt is the worst CLI I have ever worked with in my life.

                          1. download JBoss 5.0.1Beta1 from the svn source tree at http://anonsvn.jboss.org/repos/jbossas/tags/JBoss_5_1_0_Beta1/ into a local workspace (my local workspace is C:\Users\buddy\workspace\)
                          2. cd to the JBOSS_AS ./build directory (my build directory is C:\Users\buddy\workspace\JBoss_5_1_0_Beta1\build\)
                          3. confirm that you are using Java JDK 1.6.x by typing 'java -version' to the Windows XP command line. (my first line of output for this command prints ' java version "1.6.0_12" ')
                          4. Build the JBoss AS by typing '.\build.bat'
                          5. let the build purr for a few minutes, then confirm "BUILD SUCCESSFUL" printed
                          6. OK, now set JBOSS_HOME to your freshly built JBOSS AS (mine is set JBOSS_HOME=C:\Users\buddy\workspace\JBoss_5_1_0_Beta1\build\output\jboss-5.1.0.Beta1\)
                          7. Confirm that your "BUILD SUCCESSFUL" output from step #5 is valid. If you see all of the following 5 directories in the output after typing in 'dir %JBOSS_HOME%\server\' then your AS build is valid.





                          C:\Users\buddy\workspace\JBoss_5_1_0_Beta1\build>ls -1 $JBOSS_HOME/server/

                          ./
                          ../
                          all/
                          default/
                          minimal/
                          standard/
                          web/


                          8. Now we move on to JBOSSTS 4_6_1_GA build. For this we must use Java SDK 5 -- this is enforced by the JBOSSTS build script.
                          9. set JAVA_HOME to the Java SDK 5 installation. (Mine is set by
                          set JAVA_HOME=C://Java/JEE1.5_sdk/jdk/)
                          10.Now put Java SDK 5 in the front of the env's execution 'PATH'. (Mine is set by
                          set PATH=%JAVA_HOME%/bin;%PATH%)
                          11. Confirm you are now building with Java SDK 5 by typing 'java -version' from the XP command prompt (my 1st line of output says ' java version "1.5.0_09" ')
                          12. cd to your JBOSSTS_4_6_1_GA directory workspace (you get this from svn tree = http://anonsvn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_6_1_GA/). Mine is C:\Users\buddy\workspace\JBOSSTS_4_6_1_GA\
                          13. make sure you have ant 1.7 by typing in
                          'ant -version' ... (mine says 'Apache Ant version 1.7.1 compiled on June 27 2008')
                          13. type 'ant jbossjta'
                          14. Let the JBOSS TS build purr for a few minutes
                          15. Confirm "BUILD SUCCESSFUL"
                          16. cd to your JBOSSts_4_6_1_GA XTS directory (mine is C:/Users/buddy/workspace/JBOSSTS_4_6_1_GA/XTS)
                          17. type 'ant clean install'
                          19. Let the XTS build purr for a few minutes
                          20. Cofirm "BUILD SUCCESSFUL"
                          21. cd .\xts-install\sar\
                          22.. copy the freshly built jbossxts.sar archive to %JBOSS_HOME%\server\all\deploy\jbossxts.sar (mine is 'cp jbossxts.sar C:\Users\buddy\workspace\JBoss_5_1_0_Beta1\build\output\jboss-5.1.0.Beta1\server\all\deploy\' )
                          23. Set your JAVA_HOME back to Java SDK 6 (this is how I build JBOSS AS 5 Beta 1)
                          24. cd to your JBoss AS 5 server .\bin directory (mine is C:\Users\buddy\workspace\JBoss_5_1_0_Beta1\build\output\jboss-5.1.0.Beta1\bin\)
                          25. type 'run.bat' -- confirm your JBoss AS 5 process instance boots smoothly
                          26. Give the XTS demos a try!

                          Good Luck,
                          Ben


                          • 10. Re: Example using Webservices and the JBossTM in a ws-a tran
                            c4s4l

                            Thank you for your time, it's a very detailed post, just what I needed :)
                            I really agree with you about the winxp CLI so i have already installed cydwin :), but used winxp CLI to follow your steps.
                            It all worked fine, as I can understand in set 25 you meant 'run.bat -c all', but regardless that it all went smoothly. I guess my error was related to my 1.6.5 ant version.
                            After that I made the 'build jboss' for the xts examples and the ant deploy for them, again it all went fine, I finally have the demo running and I see the 'XML Transaction Service 1.1 Demonstrator '.
                            Then I was testing the demo as it came and when I submitted the booking requests I got the error "java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage" which has already been detected in https://jira.jboss.org/jira/browse/JBWS-1439. After trying some of the solutions presented in the jira without positive results
                            I decided to give jboss-5.0.1.GA-jdk6 a try because the jira error was related to jdk versioning and finally I made it! I've ran "ant jbossjta", "ant clean install" and "ant deploy" without errors as adinn posted and now the demo is working!

                            Conclusion: The problem was my 1.6.5 ant version.

                            Result: jboss-5.0.1.GA-jdk6 + JBOSSTS_4_6_1_GA

                            Once again, thank you very much for your time!
                            Sergio

                            • 11. Re: Example using Webservices and the JBossTM in a ws-a tran

                              our project is supposed to use JBossAS 4.2.3.GA + JBossTS 4.2.3GA,because it's seems that the 5.0 and higher versions are not compatible with spring 2.5.6,could you tell me how to deploy the demo upon this enviroment?

                              • 12. Re: Example using Webservices and the JBossTM in a ws-a tran
                                adinn

                                To install XTS in 4.2.3 check out the relevant TS source release from the project repo. First off you need to build the XTS release. Go to the XTS directory and execute

                                ant clean install

                                The XTS release is installed in directory xts-install. You need to copy the service archive xts-install/sar/jbossxts.sar into your AS server deploy directory. This provides XTS client and server side services bound to localhost::8080.

                                The next thing you need is a local transactional web client and some local transactional web services. The demo provides examples of these.

                                Building the demo is a two stage process. First go to XTS/demo and execute

                                ant distribution

                                This copies the necessary file into directory XTS/xts-install/demo. Go to this directory and edit the file jboss.properties. You need to replace the keywords JBOSS_HOSTNAME JBOSS_PORT and JBOSS_URLSTUB with the values lcoalhost, 8080 and xtsdemowebservices. After this execute command

                                bash build.sh jboss build

                                and then copy xts-demo.ear to your server deploy directory.

                                Now start your AS and access the demo at

                                http://localhost:8080/xts-demo

                                • 13. Re: Example using Webservices and the JBossTM in a ws-a tran

                                  I downloaded the jbossts from http://anonsvn.jboss.org/repos/labs/labs/jbosstm/tags/JBOSSTS_4_2_3_SP7/
                                  but when I went to the XTS directory and execute "ant clean install" I got this error message:"BUILD FAILED
                                  G:\jbossts-4.2.3sp7\XTS\build.xml:64: G:\jbossts-4.2.3sp7\install\lib\ext not fo
                                  und." I could not find the xts-install directory and wondered where it came from?
                                  by the way, should I execute ant build int the jbossts-4.2.3sp7 dir first?
                                  And I get some conclusions but I wonder whether they are right:
                                  1 the jbossts versions before JbossTS4.2.3SP7 only support the 1.4 jdk version
                                  2 JbossTS4.2.3SP7 support jdk1.4 and jdk1.5,but the
                                  ArjunaJTA and ArjunaJTS modules can not be complied by jdk1.6

                                  I was told our project are only allowed to use JbossAS4.2.3 but the jbossts version is not limited,
                                  Can the higher version jbosstx work with JbossAs4.2.3?

                                  • 14. Re: Example using Webservices and the JBossTM in a ws-a tran

                                    We decside to user spring-int-vfs(VFSClassPathXmlApplicationContext )to resolve the problem of using annotation component when integrate spring annotation with jbossAS 5.I just wanna say thank you to you: Thank you MTV, thank you Hollywood, thank you adinn, thank you benjamin, thank you very much!