4 Replies Latest reply on Dec 2, 2009 2:46 AM by lawrence.yip

    Configuration Problem

    lawrence.yip

      I am using jboss 5.1.0 and facing a problem when trying to introduce a security-domain in a container.

      Here is some code from standardjboss.xml

       <container-configuration>
       <container-name>Login Stateless SessionBean</container-name>
      
       <security-domain>java:/jaas/krl-login</security-domain>
      
       <call-logging>false</call-logging>
       <invoker-proxy-binding-name>stateless-rmi-invoker</invoker-proxy-binding-name>
       <!--invoker-proxy-binding-name>stateless-unified-invoker</invoker-proxy-binding-name-->
       <container-interceptors>
       <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
       <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
       <!-- CMT -->
       <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
       <interceptor transaction="Container" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
       <interceptor transaction="Container">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor>
       <!-- BMT -->
       <interceptor transaction="Bean">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor>
       <interceptor transaction="Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor>
       <interceptor transaction="Bean" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
       <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
       </container-interceptors>
       <instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool>
       <instance-cache></instance-cache>
       <persistence-manager></persistence-manager>
       <container-pool-conf>
       <MaximumSize>100</MaximumSize>
       </container-pool-conf>
       </container-configuration>
      


      When starting up the server, it keeps complaining
      org.jboss.deployers.spi.DeploymentException: Failed to parse source: The content of element type "container-configuration" must match "(container-name,call-logging?,invoker-proxy-binding-name*,sync-on-commit-only?,insert-after-ejb-post-create?,call-ejb-store-on-clean?,store-not-flushed?,container-interceptors?,instance-pool?,instance-cache?,persistence-manager?,web-class-loader?,locking-policy?,container-cache-conf?,container-pool-conf?,commit-option?,optiond-refresh-rate?,security-domain?,cluster-config?,depends*)". @ vfsfile:/C:/KRL/jboss-5.1.0.GA/server/default/conf/standardjboss.xml[1159,33]
       at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
       at org.jboss.deployment.JBossEjbParsingDeployer.getStandardMetaData(JBossEjbParsingDeployer.java:144)
       at org.jboss.deployment.JBossEjbParsingDeployer.createMetaData(JBossEjbParsingDeployer.java:102)
       at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:234)
       at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
       at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
       at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
       at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
       at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
       at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
       at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
       at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
       at org.jboss.Main.boot(Main.java:221)
       at org.jboss.Main$1.run(Main.java:556)
       at java.lang.Thread.run(Thread.java:619)
      Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: The content of element type "container-configuration" must match "(container-name,call-logging?,invoker-proxy-binding-name*,sync-on-commit-only?,insert-after-ejb-post-create?,call-ejb-store-on-clean?,store-not-flushed?,container-interceptors?,instance-pool?,instance-cache?,persistence-manager?,web-class-loader?,locking-policy?,container-cache-conf?,container-pool-conf?,commit-option?,optiond-refresh-rate?,security-domain?,cluster-config?,depends*)". @ vfsfile:/C:/KRL/jboss-5.1.0.GA/server/default/conf/standardjboss.xml[1159,33]
       at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:203)
       at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:168)
       at org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:189)
       at org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:166)
       at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:137)
       at org.jboss.deployment.JBossEjbParsingDeployer.getStandardMetaData(JBossEjbParsingDeployer.java:140)
       ... 32 more
      Caused by: org.xml.sax.SAXException: The content of element type "container-configuration" must match "(container-name,call-logging?,invoker-proxy-binding-name*,sync-on-commit-only?,insert-after-ejb-post-create?,call-ejb-store-on-clean?,store-not-flushed?,container-interceptors?,instance-pool?,instance-cache?,persistence-manager?,web-class-loader?,locking-policy?,container-cache-conf?,container-pool-conf?,commit-option?,optiond-refresh-rate?,security-domain?,cluster-config?,depends*)". @ vfsfile:/C:/KRL/jboss-5.1.0.GA/server/default/conf/standardjboss.xml[1159,33]
       at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$MetaDataErrorHandler.error(SaxJBossXBParser.java:426)
       at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
       at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
       at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
       at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
       at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
       at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
       at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:199)
       ... 37 more
      


      What's wrong with my configuration? Anybody out there have idea?

        • 1. Re: Configuration Problem
          wolfgangknauf

          Hi,

          "security-domain" must be the last element in the "container-configuration" tag. The error message says it all ;-).

          I would advice you to use a validating editor to create xml files (e.g. Eclipse + WebToolsPlatform plugin), this avoids those errors.

          Best regards

          Wolfgang

          • 2. Re: Configuration Problem
            lawrence.yip

            Actually, I was migrating a project from AS 3 to AS 5. It works fine using exactly the same configuration in AS3. I don't think it's the case.

            Finally, I decided to migrate to AS4 instead as it works fine also.

            • 3. Re: Configuration Problem
              wolfgangknauf

              Hi,

              the XML validator became more strict in JBoss 5. Especially element order is checked now.

              So, your working config actually has xml errors. It works in older JBoss versions, because they didn't check those errors. Going back to an older JBoss version is not the right approach to deal with this problem ;-).

              Best regards

              Wolfgang

              • 4. Re: Configuration Problem
                lawrence.yip

                Thank Wolfgang. You got me on the right track!