3 Replies Latest reply on Feb 27, 2004 12:27 PM by carcudi

    Eye of Newt, Wing of Bat -- the Mystery of Jboss.net

    carcudi

      Tell me if you think this is a bit round-about:

      1. Remove the ear file from the deploy directory
      2. Start (or re-start) the Jboss server
      3. Run the jboss.net Axis servlet (http://localhost:8080/jboss-net/servlet/AxisServlet)
      4. Open up a wsdl on one of the services
      5. Run a client against a default deployed service
      6. Drop the ear file into the deployment directory
      7. Run a client against one of the new bean-based web services

      This, and only this, series of events allows me to run the deployed WS beans.

      If I skip number:

      1. When the server starts up, the deployment of the wsr throws an error
      2. Well, if I don't start the server...
      3. Three and four seem to initialize the services. It sort of contradicts (but also seems to fit) a quote from the Neal Sanche site
      http://www.nsdev.org/jboss/stories/jboss-net.html:


      "For some reason, that I'm sure is temporary, trying to go to the AxisServlet URL before the wsdl has been accessed causes an exception to be thrown and no list is produced. And also, for some reason, asking for the WSDL more than once can cause the server to refuse to generate it at all."


      4. See #3
      5. If I don't run the client against a service before I deploy cap-cert, I can't run any clients against any of the services.
      6. Well, we can finally deploy our project
      7. Bingo. Things work just fine.

      I can guarantee things will work if (when I start up my server), I deploy in this sequence. Once the server is up, re-deployment seems to be no problem.

      The deployed web-services.xml file appears below, and the deployment error that runs at server startup appears thereafter:

      web-services.xml
      <?xml version="1.0" encoding="UTF-8" ?>
      - <!--
       -->
      - <!-- This JBoss.Net Web Service Descriptor has been generated by XDoclet
       -->
      - <!-- and is brought to you by F. M. Brier, C. G. Jung and J. Essington
       -->
      - <!--
       -->
      - <deployment name="cert" xmlns="http://xml.apache.org/axis/wsdd/" targetNamespace="http://cvs.east.frontiercorp.com/cert" xmlns:cert="http://cvs.east.frontiercorp.com/cert" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
      - <!--
       The following are declarations of service endpoints targetted to
       session beans
      
       -->
      - <service name="ListProvider" provider="Handler">
       <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
       <parameter name="beanJndiName" value="cap/cert/ejb/ListProviderLocalEjb" />
       <parameter name="allowedMethods" value="getList getListValue" />
      - <requestFlow name="ListProviderRequest">
      - <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="validateUnauthenticatedCalls" value="false" />
       </handler>
      - <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
       </handler>
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
       </requestFlow>
      - <responseFlow name="ListProviderResponse">
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
       <handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
       </responseFlow>
       </service>
      - <service name="NpaNxxTest" provider="Handler">
       <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
       <parameter name="beanJndiName" value="cap/cert/ejb/NpaNxxTestEjbLocal" />
       <parameter name="allowedMethods" value="getNpaNxxTest" />
      - <operation name="getNpaNxxTest" returnQName="MapGreeting">
       <parameter name="npa" />
       <parameter name="nxx" />
       </operation>
      - <requestFlow name="NpaNxxTestRequest">
      - <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="validateUnauthenticatedCalls" value="false" />
       </handler>
      - <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
       </handler>
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
       </requestFlow>
      - <responseFlow name="NpaNxxTestResponse">
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
       <handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
       </responseFlow>
       </service>
      - <service name="WebServiceTest" provider="Handler">
       <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
       <parameter name="beanJndiName" value="cap/cert/ejb/WebServiceTestEjbLocal" />
       <parameter name="allowedMethods" value="getName" />
      - <operation name="getName" returnQName="Greeting">
       <parameter name="Name" />
       </operation>
      - <requestFlow name="WebServiceTestRequest">
      - <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="validateUnauthenticatedCalls" value="false" />
       </handler>
      - <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
       </handler>
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
       </requestFlow>
      - <responseFlow name="WebServiceTestResponse">
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
       <handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
       </responseFlow>
       </service>
      - <service name="ComplexWebServiceTest" provider="Handler">
       <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
       <parameter name="beanJndiName" value="cap/cert/ejb/ComplexWebServiceTestEjbLocal" />
       <parameter name="allowedMethods" value="getName getMap" />
      - <operation name="getName" returnQName="Greeting">
       <parameter name="Name" />
       </operation>
      - <operation name="getMap" returnQName="MapGreeting">
       <parameter name="someData" />
       </operation>
      - <requestFlow name="ComplexWebServiceTestRequest">
      - <handler type="java:org.jboss.net.axis.server.JBossAuthenticationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="validateUnauthenticatedCalls" value="false" />
       </handler>
      - <handler type="java:org.jboss.net.axis.server.JBossAuthorizationHandler">
       <parameter name="securityDomain" value="java:/jaas/cap_hybrid" />
       <parameter name="allowedRoles" value="Cert_Admin, Cert_User, Cert_ReadOnly" />
       </handler>
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.TransactionRequestHandler" />
       </requestFlow>
      - <responseFlow name="ComplexWebServiceTestResponse">
      - <!-- this is a temporary solution to allow immediate (de-)serialization of entity beans in the web service layer
       -->
       <handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler" />
       <handler type="java:org.jboss.net.axis.server.TransactionResponseHandler" />
       </responseFlow>
       </service>
      - <!--
       The following are typemappings for entity beans for implementing
       the implicit web-service value-object pattern
      
       -->
      - <!-- The following are typemappings for bean-type value-objects
       -->
      - <!-- There follow merged custom web service descriptions
       -->
       </deployment>
      


      Exception on deployment at server start-up:

      2004-02-24 13:40:52,432 DEBUG [org.jboss.net.axis.server.AxisService] About to deploy axis descriptor org.jboss.deployment.DeploymentInfo@694eaeab { url=file:/C:/capsrv-3.2.2/jboss-3.2.2/server/cap/tmp/deploy/tmp19456cap-cert.ear-contents/cap-cert.wsr }
       deployer: org.jboss.net.axis.server.AxisService@903025
       status: Starting
       state: START_DEPLOYER
       watch: jar:file:/C:/capsrv-3.2.2/jboss-3.2.2/server/cap/tmp/deploy/tmp19456cap-cert.ear-contents/cap-cert.wsr!/META-INF/web-service.xml
       lastDeployed: 1077658850369
       lastModified: 1077658849666
       mbeans:
      , start step.
      2004-02-24 13:40:52,447 ERROR [org.jboss.deployment.MainDeployer] could not start deployment: file:/C:/capsrv-3.2.2/jboss-3.2.2/server/cap/tmp/deploy/tmp19456cap-cert.ear-contents/cap-cert.wsr
      java.lang.ExceptionInInitializerError
       at org.apache.axis.deployment.wsdd.WSDDOperation.<init>(WSDDOperation.java:85)
       at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:191)
       at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:243)
       at org.jboss.net.axis.Deployment.<init>(Deployment.java:69)
       at org.jboss.net.axis.server.AxisService.start(AxisService.java:546)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy6.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:394)
       at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)
       at org.jboss.Main.boot(Main.java:150)
       at org.jboss.Main$1.run(Main.java:395)
       at java.lang.Thread.run(Thread.java:534)
      Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
       at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
       at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
       at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
       at org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:76)
       at org.apache.axis.description.OperationDesc.<clinit>(OperationDesc.java:90)
       ... 54 more
      Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
       at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
       at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
       ... 58 more
      Caused by: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
       at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:412)
       ... 59 more
      2004-02-24 13:40:52,557 ERROR [org.jboss.deployment.MainDeployer] could not start deployment: file:/C:/capsrv-3.2.2/jboss-3.2.2/server/cap/deploy/cap-cert.ear
      org.jboss.deployment.DeploymentException: Could not create deployment: file:/C:/capsrv-3.2.2/jboss-3.2.2/server/cap/tmp/deploy/tmp19456cap-cert.ear-contents/cap-cert.wsr; - nested throwable: (java.lang.ExceptionInInitializerError)
       at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:39)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:851)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy6.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)
       at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:394)
       at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)
       at org.jboss.Main.boot(Main.java:150)
       at org.jboss.Main$1.run(Main.java:395)
       at java.lang.Thread.run(Thread.java:534)
      Caused by: java.lang.ExceptionInInitializerError
       at org.apache.axis.deployment.wsdd.WSDDOperation.<init>(WSDDOperation.java:85)
       at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:191)
       at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:243)
       at org.jboss.net.axis.Deployment.<init>(Deployment.java:69)
       at org.jboss.net.axis.server.AxisService.start(AxisService.java:546)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)
       ... 48 more
      Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
       at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
       at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
       at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
       at org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:76)
       at org.apache.axis.description.OperationDesc.<clinit>(OperationDesc.java:90)
       ... 54 more
      Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
       at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
       at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
       ... 58 more
      Caused by: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
       at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:412)
       ... 59 more