4 Replies Latest reply on Mar 9, 2005 3:53 AM by thomas.diesler

    DeploymentException out of the blue

    joel.rosi-schwartz

      I have a Web Service running on JBoss 4.0 that has been stable for a couple of months. Today, out of the blue, I can not longer start up JBoss. There has not been a redeployment and I have verified the problem on a second machine running the same code. My network is running fine, but I am suspecting that the root of the problem is that JBoss is trying to reach an external site for the DTDs and that site is unreachable. That is just a guess. The stacktrace is attached below. I have looked through this forum and did not find any similar posts. Is this a known problem?

      Thanks,
      Joel

      21:08:28,625 INFO [EJBDeployer] Deployed: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/tmp/deploy/tmp12326useme.ear-contents/useme-ejb.jar
      21:08:29,390 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/CollectionWS.wsdl
      21:08:29,421 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/DocumentWS.wsdl
      21:08:29,468 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/LOVWS.wsdl
      21:08:29,484 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/ProjectWS.wsdl
      21:08:29,500 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/PublisherWS.wsdl
      21:08:29,531 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/RelationshipWS.wsdl
      21:08:29,562 INFO [WSDLFilePublisher] WSDL published to: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/data/wsdl/useme-ejb.jar/ServerWS.wsdl
      21:08:29,578 WARN [EntityResolver] Entity is not registered, publicId=-//IBM Corporation, Inc.//DTD J2EE JAX-RPC mapping 1.0//EN systemId=http://www.ibm.com/webservices/dtd/j2ee_jaxrpc_mapping_1_0.dtd
      21:08:31,968 ERROR [ServiceDeployer] Cannot startup webservice for: useme-ejb.jar
      org.jboss.deployment.DeploymentException: Cannot deploy webservice; - nested throwable: (RuntimeMBeanException: null Cause: javax.xml.rpc.JAXRPCException: Cannot unmarshal jaxrpc-mapping-file: META-INF/CollectionWS-jaxrpc-mapping.xml)
       at org.jboss.webservice.ServiceDeployer.deployWebservices(ServiceDeployer.java:342)
       at org.jboss.webservice.ServiceDeployerEJB.deployWebservices(ServiceDeployerEJB.java:101)
       at org.jboss.webservice.ServiceDeployer.startWebservice(ServiceDeployer.java:203)
       at org.jboss.webservice.ServiceDeployer.handleNotification(ServiceDeployer.java:113)
       at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:138)
       at $Proxy22.handleNotification(Unknown Source)
       at javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:104)
       at javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:87)
       at org.jboss.deployment.SubDeployerSupport.start(SubDeployerSupport.java:178)
       at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:620)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:927)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
       at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy8.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:305)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:481)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:277)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
       at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:416)
       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.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:261)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:693)
       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.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:396)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:293)
       at org.jboss.Main.boot(Main.java:151)
       at org.jboss.Main$1.run(Main.java:405)
       at java.lang.Thread.run(Thread.java:534)
      Caused by: RuntimeMBeanException: null Cause: javax.xml.rpc.JAXRPCException: Cannot unmarshal jaxrpc-mapping-file: META-INF/CollectionWS-jaxrpc-mapping.xml
       at org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:162)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:149)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
       at org.jboss.webservice.ServiceDeployer.deployWebservices(ServiceDeployer.java:333)
       ... 80 more
      Caused by: javax.xml.rpc.JAXRPCException: Cannot unmarshal jaxrpc-mapping-file: META-INF/CollectionWS-jaxrpc-mapping.xml
       at org.jboss.webservice.metadata.WebserviceDescriptionMetaData.getJavaWsdlMapping(WebserviceDescriptionMetaData.java:178)
       at org.jboss.webservice.AxisService.generateDeploymentWSDD(AxisService.java:367)
       at org.jboss.webservice.AxisService.deployService(AxisService.java:242)
       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.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       ... 85 more
      Caused by: org.xml.sax.SAXException: The markup declarations contained or pointed to by the document type declaration must be well-formed. @ -//IBM Corporation, Inc.//DTD J2EE JAX-RPC mapping 1.0//EN[1,3]
       at org.jboss.xml.binding.Unmarshaller$MetaDataErrorHandler.fatalError(Unmarshaller.java:176)
       at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(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.XMLScanner.reportFatalError(Unknown Source)
       at org.apache.xerces.impl.XMLDTDScannerImpl.scanDecls(Unknown Source)
       at org.apache.xerces.impl.XMLDTDScannerImpl.scanDTDExternalSubset(Unknown Source)
       at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.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.jboss.xml.binding.Unmarshaller.unmarshal(Unmarshaller.java:153)
       at org.jboss.xml.binding.Unmarshaller.unmarshal(Unmarshaller.java:140)
       at org.jboss.webservice.metadata.jaxrpcmapping.JavaWsdlMappingFactory.parse(JavaWsdlMappingFactory.java:62)
       at org.jboss.webservice.metadata.WebserviceDescriptionMetaData.getJavaWsdlMapping(WebserviceDescriptionMetaData.java:173)
       ... 92 more
      21:08:31,984 INFO [TomcatDeployer] deploy, ctxPath=/useme, warUrl=file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/tmp/deploy/tmp12326useme.ear-contents/useme-web-exp.war/
      21:08:32,703 INFO [PropertyMessageResources] Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
      21:08:32,703 INFO [PropertyMessageResources] Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
      21:08:32,906 INFO [PropertyMessageResources] Initializing, config='com.etish.useme.wst.WebApplicationResources', returnNull=true
      21:08:33,000 INFO [EARDeployer] Started J2EE application: file:/C:/opt/JBoss/jboss-4.0.0/server/useme_active/deploy/useme.ear
      21:08:33,406 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-48080
      21:08:33,734 INFO [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:48009
      21:08:33,765 INFO [JkMain] Jk running ID=0 time=0/94 config=null
      21:08:33,796 INFO [Server] JBoss (MX MicroKernel) [4.0.0 (build: CVSTag=JBoss_4_0_0 date=200409200418)] Started in 36s:391ms
      


        • 1. Re: DeploymentException out of the blue
          joel.rosi-schwartz

          I migrated to JBoss 4.0.1sp1 and while the problem persists the diagnostics are clearer and I have confirmed my suspicion. The URL that can not be found is http://www.ibm.com/link/oss.software.ibm.com/redirect.shtml/jsr109/dtd/j2ee_jaxrpc_mapping_1_0.dtd

          This is NOT a JBoss problem. The Axis generated mapping files refernence it in their header

          <!DOCTYPE java-wsdl-mapping PUBLIC
           "-//IBM Corporation, Inc.//DTD J2EE JAX-RPC mapping 1.0//EN"
           "http://www.ibm.com/webservices/dtd/j2ee_jaxrpc_mapping_1_0.dtd">


          IBM has reorganized their open source web site and the document is no longer available; at least at that URL. The real problem is that I can not even find a hard copy of the dtd sitting around. What a way to waste a day :(

          I will take this up with Axis group. I have written this up here since I figure someone else is bound to run into the same wall.

          /joel

          • 2. Re: DeploymentException out of the blue
            joel.rosi-schwartz

            This is not an Axis problem as I thought but rather is being caused by XDoclet. I went digging into my build process and found out that I am using the XDoclet wseedoclet ant task to generate the mappings. Apologies that piece of the puzzle slipped my mind.

            For the moment I have worked around this by copying the task's standard template, commenting out the DOCTYPE header and feeding that into the jaxrpc-mapping subtask using the template attribute. But what I think I really need is a copy of the dtd so I can include it in my distribution. Do you agreee that this would be the best way of avoiding problems in now and in the future? Do you have any idea where I can pick up a copy of the dtd? I have looked in all of the obviouse places and even did a google search. Plenty of hits on google, but all references to rather than the actual dtd.

            Thanks for your thoughts,
            /joel

            • 3. Re: DeploymentException out of the blue
              joel.rosi-schwartz

              Checking through the XDoclet Jira I found out that this is a known issue and in fact it is fixed in cvs head for the yet to be released 1.3. What is needed is not the DTD but an update to the root element to make it J2EE 1.4 compliant as such:

              <java-wsdl-mapping
               xmlns="http://java.sun.com/xml/ns/j2ee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
               http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
               version="1.1">


              The Jira issues is at http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1126

              /joel

              • 4. Re: DeploymentException out of the blue
                thomas.diesler

                XDoclet support is generally poor for WS4EE and not recomended.

                Use wscompile to generate the mapping file it uses
                j2ee_jaxrpc_mapping_1_1.xsd

                <java-wsdl-mapping version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
                


                which is registered with our EnityResolver.

                Generally, stay away from the axis tools when you want to have portable J2EE web services.