3 Replies Latest reply on Jun 23, 2009 1:59 AM by nick.hoyle

    Cannot Deploy SSO Federation EAR

    edgoquist

      I'm trying to deploy jboss-federation-server.ear

      I get this:

      12:00:25,395 ERROR [ProfileServiceBootstrap] Failed to load profile:
      org.jboss.deployers.spi.DeploymentException: Exception determining structure: AbstractVFSDeployment(jboss-federation-server.ear)
       at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
       at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:85)
       at org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:853)
       at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:303)
       at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:260)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:303)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
       at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
       at org.jboss.Main.boot(Main.java:209)
       at org.jboss.Main$1.run(Main.java:547)
       at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.RuntimeException: Error determining structure: jboss-federation-server.ear
       at org.jboss.deployment.EARStructure.determineStructure(EARStructure.java:293)
       at org.jboss.deployers.vfs.plugins.structure.StructureDeployerWrapper.determineStructure(StructureDeployerWrapper.java:73)
       at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.doDetermineStructure(VFSStructuralDeployersImpl.java:196)
       at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.determineStructure(VFSStructuralDeployersImpl.java:221)
       at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:77)
       ... 9 more
      Caused by: java.lang.ClassCastException: org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData cannot be cast to org.jboss.metadata.ear.spec.EarMetaData
       at org.jboss.deployment.EARStructure.determineStructure(EARStructure.java:160)
       ... 13 more
      


      I'm particularly interested in the part:

      Caused by: java.lang.ClassCastException: org.jboss.metadata.ear.jboss.JBoss50DTDAppMetaData cannot be cast to org.jboss.metadata.ear.spec.EarMetaData

      I took a look at
      EARStructure.java and took a somewhat wild guess and changed the name of application.xml to jboss-app.xml. No luck. Here's application.xml btw:

      <?xml version="1.0" encoding="UTF-8"?>
      <jboss-app>
       <module>
       <service>jboss-federation-server.sar</service>
       </module>
       <module>
       <web>
       <web-uri>jboss-federation-server.war</web-uri>
       </web>
       </module>
       <module>
       <java>jboss-federation-server.jar</java>
       </module>
       <module>
       <java>jboss-saml.jar</java>
       </module>
       <module>
       <java>jboss-security-common.jar</java>
       </module>
      </jboss-app>
      


      Any hints would be appreciated. thanks. -e.

        • 1. Re: Cannot Deploy SSO Federation EAR
          aamonten

          It looks like you are trying to deploy it on JBoss AS 5, JBoss Federated SSO does ot support 5 only 4.3

          • 2. Re: Cannot Deploy SSO Federation EAR
            edgoquist

            Oh. Ok. Thanks. All i want to do is get SSO working on JBoss5. How do I do that? should i just use cookies? I've got a situation that looks pretty much like this:


            ... http://www.jboss.org/community/docs/DOC-12280 ...
            For example, suppose we have a case where two apps, with URLs http://app1.xyz.com and http://app2.xyz.com, that wish to share an SSO context. These apps could be running on different servers in a cluster (if ClusteredSingleSignOn is used) or the virtual host with which they are associated could have multiple aliases. This can now be supported with the following configuration...

            I'm getting confused because the sso-cfg needs trust server (or does it?)

             <sso-processor>
             <processor class="org.jboss.security.saml.JBossSingleSignOn">
             <property name="trustServer">??????????????</property>
             </processor>
             </sso-processor>
            



            • 3. Re: Cannot Deploy SSO Federation EAR

              To get JBoss Federated SSO working in JBoss AS 5.1.0 i did the following:

              1) delete the following file:
              deploy\jboss-federation-server-exploded.ear\META-INF\application.xml
              - this is no longer needed in JBoss AS 5.1.0 as it scans for the files and does not to be told about them (mentioning them in the application.xml causes it to fail as it would be deploying them twice)

              2) Rename:
              org.jboss.security.federation.service.FederationService.java
              to:
              org.jboss.security.federation.service.FederationMBean.java
              and update references in org.jboss.security.federation.servlet.SSOFederationServer
              - this is needed because (i think) the spec requires that the name of the interface matches the name of the implementation class +"MBean" and this is now required for JBoss AS 5.1.0

              3) re-build and re-deploy the jboss-federation-server-exploded.ear