10 Replies Latest reply on May 14, 2012 8:49 PM by camicase82

    jboss6 final and jbossws 3.4.0

    abr

      Hello,

       

      I'm currently trying to migrate our application from jboss5 to jboss6 and I'm running into some issues.

       

      My first try was with jboss6 CR1:

      We have some web services (EJB3 endpoints) and they all have @HandlerChain declaration (we use this to do the XML validation since the built-in SOAP validation didn't work on Jboss5) and it all worked fine with jboss5 and jbossws native 3.3.1 GA.

       

      Now with jboss6 CR1, since it is shipped with jbossws-CXF 3.4.1 my @HandlerChain declaration does not seem to be valid any more (btw, I was not able to find any clear document on own to declare a handler chain with CXF).

      So I've decided to use jbossws-native-3.4.0 (the latest version available) and I worked fine: I was able to have my web services running just like with jboss5

       

      Today, I've downloded jboss6 Final with CXF 3.4.1

      18:32:43,489 INFO  [AbstractServerConfig] JBoss Web Services - Stack CXF Server 3.4.1.GA

       

      and just like for jboss6 CR1, I tried to deploy jbossws native.

      But this time I get:

      18:34:46,515 INFO  [AbstractServerConfig] JBoss Web Services - Native Server 3.4.0.GA
      18:34:46,523 ERROR [AbstractKernelController] Error installing to PreInstall: name=WSDescriptorDeployer state=Real: java.lang.NoClassDefFoundError: org/jboss/wsf/spi/metadata/DescriptorParser
              at java.lang.Class.getDeclaredConstructors0(Native Method) [:1.6.0_23]
              at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) [:1.6.0_23]
              at java.lang.Class.getDeclaredConstructors(Class.java:1836) [:1.6.0_23]

      .....

      Caused by: java.lang.ClassNotFoundException: org.jboss.wsf.spi.metadata.DescriptorParser
              at java.net.URLClassLoader$1.run(URLClassLoader.java:202) [:1.6.0_23]

       

      So, jboss6 CR1 comes with  Stack CXF Server 3.4.0.CR3 and I can install Native Server 3.4.0.GA

       

      But, jboss6 Final comes with CXF 3.4.1 and I cannot install Native Server 3.4.0.GA...

       

      Can someone please explain me:

      - how to install jbossws native in jboss6?

      - where do I get jbossws native 3.4.1 (is it available? 3.4.0 native or CXF are the latest available at http://www.jboss.org/jbossws/downloads )?

      - how do I declare HandlerChain with CXF?

       

      my EJB have @HandlerChain(file = "/META-INF/soapHandler/handler-chain.xml")

       

      and the handler-chain.xml is as follow:

        <?xml version="1.0" encoding="UTF-8"?>

        <handler-config>
          <handler-chain>
              <handler-chain-name>SoapHandler</handler-chain-name>
              <handler>
                  <handler-name>SoapMessageValidationHandler</handler-name>
                  <handler-class>com.ubiqube.api.ws.soapHandler.MessageValidationSoapHandler</handler-class>
              </handler>
          </handler-chain>
        </handler-config>

       

      thanks,

       

      Antoine

        • 1. Re: jboss6 final and jbossws 3.4.0
          asoldano

          Antoine Brun wrote:

           

          Hello,

           

          I'm currently trying to migrate our application from jboss5 to jboss6 and I'm running into some issues.

           

          My first try was with jboss6 CR1:

          We have some web services (EJB3 endpoints) and they all have @HandlerChain declaration (we use this to do the XML validation since the built-in SOAP validation didn't work on Jboss5) and it all worked fine with jboss5 and jbossws native 3.3.1 GA.

           

          Now with jboss6 CR1, since it is shipped with jbossws-CXF 3.4.1 my @HandlerChain declaration does not seem to be valid any more (btw, I was not able to find any clear document on own to declare a handler chain with CXF).

          @HandlerChain is supposed to work regardless of the installed webservice stack; it's part of JSR181 and it's also tested by the JavaEE 6 TCK, so it must work. Perhaps you can open another thread for this specific issue, with more details on your deployment, so that we try isolating what are the differences in jbossws-native and jbossws-cxf behaviour here. Also, try taking a look at the testsuite that includes samples with @HandlerChain.

           

          Back to the AS 6 installation related topic, first of all, consider that JBoss AS 6 Final should be used now that it's out, forget about CR1.

          Today, I've downloded jboss6 Final with CXF 3.4.1

          18:32:43,489 INFO  [AbstractServerConfig] JBoss Web Services - Stack CXF Server 3.4.1.GA

           

          and just like for jboss6 CR1, I tried to deploy jbossws native.

          But this time I get:

          18:34:46,515 INFO  [AbstractServerConfig] JBoss Web Services - Native Server 3.4.0.GA
          18:34:46,523 ERROR [AbstractKernelController] Error installing to PreInstall: name=WSDescriptorDeployer state=Real: java.lang.NoClassDefFoundError: org/jboss/wsf/spi/metadata/DescriptorParser
                  at java.lang.Class.getDeclaredConstructors0(Native Method) [:1.6.0_23]
                  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) [:1.6.0_23]
                  at java.lang.Class.getDeclaredConstructors(Class.java:1836) [:1.6.0_23]

          .....

          Caused by: java.lang.ClassNotFoundException: org.jboss.wsf.spi.metadata.DescriptorParser
                  at java.net.URLClassLoader$1.run(URLClassLoader.java:202) [:1.6.0_23]

           

          So, jboss6 CR1 comes with  Stack CXF Server 3.4.0.CR3 and I can install Native Server 3.4.0.GA

           

          But, jboss6 Final comes with CXF 3.4.1 and I cannot install Native Server 3.4.0.GA...

          Right, as 3.4.0 does not support AS 6 Final. The short reference page is http://community.jboss.org/wiki/JBossWS-SupportedTargetContainers , but you can also read here http://jbossws.blogspot.com/2010/12/ready-for-jboss-as-6-and-then.html . Basically, the insight on this topic is that 3.4.1 was created only for supporting the last minute changes that have been applied on JBoss AS 6 between CR1 and GA. Some of those changes required non backward compatible changes on the JBossWS container integration code, hence the need for a new version (3.4.1) supporting AS 6 Final only.

           

          Binary versions of JBossWS 3.4.1 have not been added to the download page yet, mainly because they were only meant for being included in AS 6 Final, but I understand the potential need for switching AS 6 Final to jbossws native (jbossws-cxf-3.4.1 is included in AS 6 Final), so I'll most probably add the 3.4.1 files to http://jboss.org/jbossws/downloads later today or tomorrow.

          Can someone please explain me:

          - how to install jbossws native in jboss6?

          - where do I get jbossws native 3.4.1 (is it available? 3.4.0 native or CXF are the latest available at http://www.jboss.org/jbossws/downloads )?

          See above on the availability of 3.4.1 binary distributions at http://jboss.org/jbossws/downloads . In the mean time, you can checkout the sources from http://anonsvn.jboss.org/repos/jbossws/stack/native/tags/jbossws-native-3.4.1.GA and build them (ant deploy-jboss601 as JBoss AS 6 Final was not out yet when 3.4.1 was tagged).

          - how do I declare HandlerChain with CXF?

           

          my EJB have @HandlerChain(file = "/META-INF/soapHandler/handler-chain.xml")

           

          and the handler-chain.xml is as follow:

            <?xml version="1.0" encoding="UTF-8"?>

            <handler-config>
              <handler-chain>
                  <handler-chain-name>SoapHandler</handler-chain-name>
                  <handler>
                      <handler-name>SoapMessageValidationHandler</handler-name>
                      <handler-class>com.ubiqube.api.ws.soapHandler.MessageValidationSoapHandler</handler-class>
                  </handler>
              </handler-chain>
            </handler-config>


           

          You declare the handler chain the same way you do with native, as that's defined by standards. My guess here is that your problem here is in the resolution of the specified path. First try moving the handler chain xml file close to the endpoint declaration class and using

          file = "handler-chain.xml"

          then try loading it from META-INF removing the initial slash in the path.

          1 of 1 people found this helpful
          • 2. Re: jboss6 final and jbossws 3.4.0
            abr

            ok, I'll try with jbossws native 3.4.1 as soon as it is available.

             

            in the mean time, I tried to declare the handler like that:

                 @HandlerChain(file = "handler-chain.xml")

            and I get:

             

            DEPLOYMENTS IN ERROR:
              Deployment "vfs:///home/abr/workspace/api/dist/ubi-api.ear" is in error due to the following reason(s): javax.xml.ws.WebServiceException: Could not find the handler configuration file handler-chain.xml specified by @HandlerChain annotation

             

            so next I tried:

                 @HandlerChain(file = "/handler-chain.xml")

            and I get:

            DEPLOYMENTS IN ERROR:
              Deployment "vfs:///home/abr/workspace/api/dist/ubi-api.ear" is in error due to the following reason(s): javax.xml.ws.WebServiceException: false false Element <?xml version="1.0" encoding="utf-8"?><handler-config>
                    <handler-chain>
                            <handler-chain-name>SoapHandler</handler-chain-name>
                            <handler>
                                    <handler-name>SoapMessageValidationHandler</handler-name>
                                    <handler-class>com.ubiqube.api.ws.soapHandler.MessageValidationSoapHandler</handler-class>
                            </handler>
                    </handler-chain>
            </handler-config> is not a valid root element in file vfs:/home/abr/workspace/api/dist/ubi-api.ear/ubi-api-ejb.jar/handler-chain.xml

             

            So with CXF 3.4.1the "/" must be there, wheras with native 3.4.0 it was not necessary (note that I did not try with the / and native 3.4.0).

             

            Do you know when the jbossws native 3.4.1 will be available for download?

             

            Another question, maybe you can point me to some doc: why choosing jbossws CXF against native? Is it a certification issue?

             

            Thank you for your time and answer

             

            Antoine

            • 3. Re: jboss6 final and jbossws 3.4.0
              asoldano

              OK, here you go: http://jboss.org/jbossws/downloads (JBossWS 3.4.1 binary downloads, check the Install.txt as usual for installation information)

               

              Regarding why using the CXF based stack instead of the Native one, right compliance with standards is a reason, for instance Apache CXF is JAXWS 2.2 compliant (we contributed to that) and JBossWS-CXF included in JBoss AS 6 is passing the webservice related part of JavaEE 6 certification testsuite (btw the ws stuff goes beyond the EE6 web profile). Better support for WS-* is another reason. Performance is also better right now with JBossWS-CXF.

               

              Well try to repdoruce your @HandlerChain issue soon.

              • 4. Re: jboss6 final and jbossws 3.4.0
                abr

                Alessio Soldano wrote:

                 

                OK, here you go: http://jboss.org/jbossws/downloads (JBossWS 3.4.1 binary downloads, check the Install.txt as usual for installation information)

                I've downloaded the binary.

                First I installed it in my jboss 6 install.

                Then I tried to deploy my application.

                First the EJB seemed to be correctly deployed:

                ...

                10:45:32,798 INFO  [org.jboss.ejb3.instantiator.deployer.BeanInstantiatorDeployerBase] Installed org.jboss.ejb3.instantiator.impl.Ejb31SpecBeanInstantiator@c6bb9a into MC at org.jboss.ejb.bean.instantiator/ubi-api/ubi-api-ejb/ConfProfileBean
                1

                ...

                then the WSDL:

                ...

                10:45:41,224 INFO  [org.jboss.wsf.stack.jbws.WSDLFilePublisher] WSDL published to: file:/home/abr/workspace/jboss-6.0.0.Final/server/ubiqube/data/wsdl/ubi-api.ear/ubi-api-ejb.jar/VpnService.wsdl

                ...

                then the endpoints:

                ...

                10:45:42,242 INFO  [org.jboss.wsf.framework.management.DefaultEndpointRegistry] register: jboss.ws:context=webapi,endpoint=FirewallBean

                ...

                then I get

                ...

                10:45:42,456 INFO  [org.jboss.ejb3.deployers.JBossASKernel] Created KernelDeployment for: ubi-api-ejb.jar
                10:45:42,460 INFO  [org.jboss.ejb3.deployers.JBossASKernel] installing bean: jboss.j2ee:ear=ubi-api.ear,jar=ubi-api-ejb.jar,name=VoipProfileBean,service=EJB3
                10:45:42,460 INFO  [org.jboss.ejb3.deployers.JBossASKernel]   with dependencies:
                10:45:42,460 INFO  [org.jboss.ejb3.deployers.JBossASKernel]   and demands:
                10:45:42,460 INFO  [org.jboss.ejb3.deployers.JBossASKernel]     jboss-injector:topLevelUnit=ubi-api.ear,unit=ubi-api-ejb.jar,bean=VoipProfileBean; Required: Described
                10:45:42,460 INFO  [org.jboss.ejb3.deployers.JBossASKernel]     jboss.ejb:service=EJBTimerService; Required: Described
                10:45:42,460 INFO  [org.jboss.ejb3.deployers.JBossASKernel]     jboss-switchboard:appName=ubi-api,module=ubi-api-ejb; Required: Create
                10:45:42,461 INFO  [org.jboss.ejb3.deployers.JBossASKernel]   and supplies:
                10:45:42,461 INFO  [org.jboss.ejb3.deployers.JBossASKernel]     jndi:VoipProfileBean/remote
                10:45:42,461 INFO  [org.jboss.ejb3.deployers.JBossASKernel]     Class:com.ubiqube.api.interfaces.deprecated.profil.voip.VoipProfileService
                10:45:42,461 INFO  [org.jboss.ejb3.deployers.JBossASKernel]     jndi:ubi-api/VoipProfileBean/remote-com.ubiqube.api.interfaces.deprecated.profil.voip.VoipProfileService
                10:45:42,466 INFO  [org.jboss.ejb3.deployers.JBossASKernel] Added bean(jboss.j2ee:ear=ubi-api.ear,jar=ubi-api-ejb.jar,name=VoipProfileBean,service=EJB3) to KernelDeployment of: ubi-api-ejb.jar

                ..

                10:45:46,121 INFO  [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:


                        CDRBean/remote - EJB3.x Default Remote Business Interface
                        ubi-api/CDRBean/remote-com.ubiqube.api.interfaces.profile.voip.CDRService - EJB3.x Remote Business Interface


                10:45:46,121 WARN  [org.jboss.ejb3.TimerServiceContainer] EJBTHREE-2193: using deprecated TimerServiceFactory for restoring timers

                 

                And then it fails with

                 

                10:45:46,133 INFO  [org.jboss.ejb3.session.SessionSpecContainer] Stopping jboss.j2ee:ear=ubi-api.ear,jar=ubi-api-ejb.jar,name=CDRBean,service=EJB3
                10:45:46,137 INFO  [org.jboss.ejb3.EJBContainer] STOPPED EJB: com.ubiqube.api.ejb.profile.voip.CDRBean ejbName: CDRBean
                10:45:46,140 INFO  [org.jboss.ejb3.session.SessionSpecContainer] Stopping jboss.j2ee:ear=ubi-api.ear,jar=ubi-api-ejb.jar,name=VpnWS,service=EJB3
                10:45:46,141 INFO  [org.jboss.ejb3.EJBContainer] STOPPED EJB: com.ubiqube.api.ws.endpoints.vpn.VpnWS ejbName: VpnWS
                10:45:46,145 INFO  [org.jboss.ejb3.session.SessionSpecContainer] Stopping jboss.j2ee:ear=ubi-api.ear,jar=ubi-api-ejb.jar,name=SecurityBean,service=EJB3
                10:45:46,146 INFO  [org.jboss.ejb3.EJBContainer] STOPPED EJB: com.ubiqube.api.ejb.common.security.SecurityBean ejbName: SecurityBean
                10:45:46,151 WARN  [org.jboss.kernel.plugins.dependency.StartStopLifecycleAction] Error during stop for jboss-switchboard:appName=ubi-api,module=ubi-api-ejb,name=ConfigurationVariableWS: javax.naming.NameNotFoundException: ORB not bound
                        at org.jnp.server.NamingServer.getBinding(NamingServer.java:771) [:5.0.5.Final]
                        at org.jnp.server.NamingServer.getBinding(NamingServer.java:779) [:5.0.5.Final]
                        at org.jnp.server.NamingServer.unbind(NamingServer.java:349) [:5.0.5.Final]
                        at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:873) [:5.0.5.Final]
                        at org.jboss.util.naming.Util.unbind(Util.java:151) [jboss-common-core.jar:2.2.17.GA]
                        at org.jboss.util.naming.Util.unbind(Util.java:141) [jboss-common-core.jar:2.2.17.GA]
                        at org.jboss.switchboard.mc.SwitchBoardImpl.unbindFromRelevantContext(SwitchBoardImpl.java:303) [:1.0.0-alpha-15]
                        at org.jboss.switchboard.mc.SwitchBoardImpl.stop(SwitchBoardImpl.java:102) [:1.0.0-alpha-15]
                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
                        at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]


                I have no idea what this ORB is...

                The full deployement log (server.log) is attached to the message.

                 

                So I tried to run the jbossws 3.4.1 included tests: ant tests.

                They all failed (attached the tests reports)

                 

                Antoine

                • 5. Re: jboss6 final and jbossws 3.4.0
                  asoldano

                  Hi,

                  regarding the jbossws testsuite failures, that seems like an issue with logging, please try commenting out the following line in tests/ant-import/build-testsuite.xml :

                   

                  <sysproperty key="java.util.logging.manager" value="org.jboss.wsf.common.logging.JDKLogManager"/>

                   

                  Regarding the "ORB" issue, that does not tell me a lot too unfortunately and seems to be an EJB3 issue, if any. Btw, that's a WARN during undeploy, am I wrong? Might not be a real issue after all, perhaps you can try posting on the ejb3 forum about that.

                  • 6. Re: jboss6 final and jbossws 3.4.0
                    asoldano

                    Ah, regarding the

                     

                    </handler-config> is not a valid root element in file vfs:/home/abr/workspace/api/dist/ubi-api.ear/ubi-api-ejb.jar/META-INF/soapHandler/handler-chain.xml ....

                     

                    exception I see in your server log, are you using the proper handler chain descriptor format? Check http://anonsvn.jboss.org/repos/jbossws/framework/tags/jbossws-framework-3.4.0.GA/testsuite/test/java/org/jboss/test/ws/jaxws/handlerscope/jaxws-server-handlers.xml for an example.

                     

                    Also, at first sight you seems to have issues with app already installed, when having deployment failures, consider restarting the app server before re-trying the deployment, as you might end up in an inconsistent status.

                    • 7. Re: jboss6 final and jbossws 3.4.0
                      abr

                      Alessio Soldano wrote:

                       

                      Ah, regarding the

                       

                      </handler-config> is not a valid root element in file vfs:/home/abr/workspace/api/dist/ubi-api.ear/ubi-api-ejb.jar/META-INF/soapHandler/handler-chain.xml ....

                       

                      exception I see in your server log, are you using the proper handler chain descriptor format? Check http://anonsvn.jboss.org/repos/jbossws/framework/tags/jbossws-framework-3.4.0.GA/testsuite/test/java/org/jboss/test/ws/jaxws/handlerscope/jaxws-server-handlers.xml

                      for an example.

                       

                      I think that those traces are just remains from a previous test that failed.

                      The handler-chain seems to be correctly parsed with jbossws native 3.4.1 and I'm declaring it like that:

                           @HandlerChain(file = "handler-chain.xml")

                       

                      Attached are logs from a single boot/ear deploy sequence (I'm not undeploying the ear and I'm using twiddle/JMX).

                       

                      By the way, is there a clean way to uninstall the jbossws module from the jboss install?

                      I'd like to check my EJB deployment without the web service module

                      • 8. Re: jboss6 final and jbossws 3.4.0
                        asoldano

                        AFAICS, the "ORB not found" exceptions begin just after:

                         

                        2011-01-05 11:40:45,432 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (RMI TCP Connection(4)-10.11.1.112) deploy, ctxPath=/webapi2
                        2011-01-05 11:40:45,449 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (RMI TCP Connection(4)-10.11.1.112) undeploy, ctxPath=/webapi2

                         

                        which kind of suggest me the app is beeing undeployed. Also, all the exceptions are "... during stop for...".

                         

                        Regarding cleaning removing the webservice module from the app server, that's not easy with AS 6 (things are going to change here on AS 7). The only solution I can think about is creating your own server profile without the webservice stuff, something in the middle of "minimal" and "default" profile. But that's not straightforward for sure.

                        It's probably faster for you to comment out the @WebServices annotations (assuming you're using EJB3 endpoints only) in your sources.

                        • 9. Re: jboss6 final and jbossws 3.4.0
                          abr

                          I think that I got it now:

                          My EJB that are WS endpoints have the following annotation:

                               @WebContext(authMethod = "BASIC", contextRoot = "webapi", urlPattern = "/ConfigurationVariableWS")

                          the context root was to override the default context root which is something like ubi-ejb (whatever...)

                          And in the application context I also had

                               <module>
                                  <web>
                                      <web-uri>ubi-api.war</web-uri>
                                      <context-root>webapi</context-root>
                                  </web>
                              </module>

                           

                          I can't remember exactly why at that time I needed to do that. I hope that I can get rid of this, more tests will tell.

                          What is not intuitive at all is the error message...

                           

                          Anyway, my WS seem to deploy correctly now, I'll do some more tests.

                          I hope that the handler-chain issue will be solved in a future jbossws CXF release as I'd rather use CXF than change jboss default packaging.

                           

                          Thank you for you time,

                           

                          Antoine

                          • 10. Re: jboss6 final and jbossws 3.4.0
                            camicase82

                            Hi there...First of all i'm reaaaally sorry to get back lo life this post...but im going crazy and this post seams like the most solid clue so far....

                             

                            I have a jboss seam project which uses jboss ws...I have to move to jboss 6 in order to have hibernate envers (I already tried configuring hibernate 3.5 o jboss 5...and got to a dead end), I always have worked with jboss 5 (and my production enviroment is on jboss 5 and works just great)...but now that im triying to move to jboss 6 I'm getting really stucked with the same exception:

                             

                            19:36:34,659 WARN  [StartStopLifecycleAction] Error during stop for jboss-switchboard:appName=Salarix2,module=Salarix2,name=FormulationService: javax.naming.NameNotFoundException: ORB not bound

                                    at org.jnp.server.NamingServer.getBinding(NamingServer.java:771) [:5.0.5.Final]

                                    at org.jnp.server.NamingServer.getBinding(NamingServer.java:779) [:5.0.5.Final]

                                    at org.jnp.server.NamingServer.unbind(NamingServer.java:349) [:5.0.5.Final]

                                    at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:873) [:5.0.5.Final]

                                    at org.jboss.util.naming.Util.unbind(Util.java:151) [jboss-common-core.jar:2.2.17.GA]

                                    at org.jboss.util.naming.Util.unbind(Util.java:141) [jboss-common-core.jar:2.2.17.GA]

                                    at org.jboss.switchboard.mc.SwitchBoardImpl.unbindFromRelevantContext(SwitchBoardImpl.java:303) [:1.0.0-alpha-15]

                                    at org.jboss.switchboard.mc.SwitchBoardImpl.stop(SwitchBoardImpl.java:102) [:1.0.0-alpha-15]

                                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_22]

                                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_22]

                                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_22]

                             

                            I already installed the jbossws-cxf-3.4.1.GA but nothing changed...Any help whould be reaaaaaally apreciated...I been around this for the last two days :s

                             

                            this a example of how my ws are declared

                             

                             

                            @Stateless

                            @WebService(name = "securityService", serviceName = "securityService")

                            @Name("securityService")

                            @AutoCreate

                            @Startup

                            @Scope(ScopeType.SESSION)

                            /**

                            * Class in charge of exposing a webservice facade to external aplications

                            */

                            public class SecurityService {

                             

                                @In

                                AuthenticatorBean authenticator;

                             

                                @In

                                Identity identity;