4 Replies Latest reply on May 7, 2005 10:28 AM by starksm64

    No Internet Connection: Dom4J XML Parsing Error

    jbriscoe

      I have deployed a web service in 4.0.2RC1. My application cannot have an internet connection and when I startup JBoss I receive the following ERROR:

      2005-05-04 13:53:03,890 ERROR [org.jboss.webservice.ServiceDeployer] Cannot startup webservice for: my.war
      org.jboss.deployment.DeploymentException: java.sun.com Nested exception: java.sun.com; - nested throwable: (org.dom4j.DocumentException: java.sun.com Nested exception: java.sun.com)
       at org.jboss.webservice.ServiceDeployerJSE.modifyWebXML(ServiceDeployerJSE.java:141)
       at org.jboss.webservice.ServiceDeployerJSE.createWebservice(ServiceDeployerJSE.java:94)
       at org.jboss.webservice.ServiceDeployer.handleNotification(ServiceDeployer.java:110)
       at sun.reflect.GeneratedMethodAccessor3.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 $Proxy28.handleNotification(Unknown Source)
       at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:112)
       at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:95)
       at org.jboss.deployment.SubDeployerSupport.create(SubDeployerSupport.java:203)
       at org.jboss.web.AbstractWebContainer.create(AbstractWebContainer.java:341)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:918)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:910)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:774)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:738)
       at sun.reflect.GeneratedMethodAccessor40.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:144)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:122)
       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:249)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy8.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:325)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:501)
       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:272)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:222)
       at sun.reflect.GeneratedMethodAccessor2.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:144)
       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:249)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:911)
       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:144)
       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:249)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:273)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:964)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:775)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:738)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:722)
       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:144)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:122)
       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:249)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:413)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:310)
       at org.jboss.Main.boot(Main.java:195)
       at org.jboss.Main$1.run(Main.java:463)
       at java.lang.Thread.run(Thread.java:534)
      Caused by: org.dom4j.DocumentException: java.sun.com Nested exception: java.sun.com
       at org.dom4j.io.SAXReader.read(SAXReader.java:353)
       at org.dom4j.io.SAXReader.read(SAXReader.java:222)
       at org.jboss.webservice.ServiceDeployerJSE.modifyWebXML(ServiceDeployerJSE.java:117)
       ... 79 more
      
      


      Does anyone know how to deploy web services without an internet connection?

      Thanks in Advance,
      Jacob

        • 1. Re: No Internet Connection: Dom4J XML Parsing Error
          thomas.diesler

          Please show me the web.xml in my.war?

          • 2. Re: No Internet Connection: Dom4J XML Parsing Error
            jbriscoe

            Here is my web.xml file's contents:

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
            
            <web-app>
             <display-name> Application</display-name>
             <!-- Session Passive Listener -->
             <listener>
             <listener-class>com.hello.security.SecurityServletListener</listener-class>
             </listener>
             <session-config>
             <session-timeout>20</session-timeout>
             </session-config>
             <!-- Action Servlet Configuration -->
             <servlet>
             <servlet-name>action</servlet-name>
             <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
             <init-param>
             <param-name>definitions-config</param-name>
             <param-value>/WEB-INF/tiles-defs.xml</param-value>
             </init-param>
             <init-param>
             <param-name>definitions-debug</param-name>
             <param-value>1</param-value>
             </init-param>
             <init-param>
             <param-name>definitions-parser-details</param-name>
             <param-value>0</param-value>
             </init-param>
             <init-param>
             <param-name>definitions-parser-validate</param-name>
             <param-value>true</param-value>
             </init-param>
             <init-param>
             <param-name>config</param-name>
             <param-value>/WEB-INF/struts-config.xml</param-value>
             </init-param>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- This servlet is used by the reporting engine to create images. -->
             <servlet>
             <servlet-name>ReportImageServlet</servlet-name>
             <servlet-class>com.hello.utils.ImageServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- This servlet is used by the reporting engin when creating a pdf document. -->
             <servlet>
             <servlet-name>PdfServlet</servlet-name>
             <servlet-class>com.hello.utils.PdfServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- This servlet is used by the export funcationality, specifically survey report. -->
             <servlet>
             <servlet-name>DownloadFileServlet</servlet-name>
             <servlet-class>com.hello.utils.DownloadFileServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- This servlet is used by the map applet for exposing delegate methods. -->
             <servlet>
             <servlet-name>DelegateServlet</servlet-name>
             <servlet-class>com.hello.utils.DelegateServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <servlet>
             <servlet-name>AppletServletDB</servlet-name>
             <servlet-class>com.hello.core.actions.AppletServletDB</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- For hello WebService -->
             <servlet>
             <servlet-name>IntegrationDelegate</servlet-name>
             <servlet-class>org.jboss.webservice.server.ServiceEndpointServletJSE</servlet-class>
             <init-param>
             <param-name>WebServiceID</param-name>
             <param-value>hello.ear/my.war#PortComponent</param-value>
             </init-param>
             <init-param>
             <param-name>ServiceEndpointImpl</param-name>
             <param-value>com.hello.core.delegate.IntegrationDelegateImpl</param-value>
             </init-param>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- This servlet is used to perform any application startup initialization -->
             <servlet>
             <servlet-name>ApplicationStartupServlet</servlet-name>
             <servlet-class>com.hello.utils.ApplicationStartupServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
             </servlet>
             <!-- Action Servlet Mapping -->
             <servlet-mapping>
             <servlet-name>action</servlet-name>
             <url-pattern>*.do</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>action</servlet-name>
             <url-pattern>*.public</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>ReportImageServlet</servlet-name>
             <url-pattern>/report_image</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>PdfServlet</servlet-name>
             <url-pattern>/pdf_report</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>DownloadFileServlet</servlet-name>
             <url-pattern>/download_file</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>DelegateServlet</servlet-name>
             <url-pattern>/delegate</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>AppletServletDB</servlet-name>
             <url-pattern>/geozone/bridge</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>IntegrationDelegate</servlet-name>
             <url-pattern>/hellodelegate</url-pattern>
             </servlet-mapping>
             <servlet-mapping>
             <servlet-name>ApplicationStartupServlet</servlet-name>
             <url-pattern>/applicationStartupNoAccess</url-pattern>
             </servlet-mapping>
            
             <!-- The Welcome File List -->
             <welcome-file-list>
             <welcome-file>frames.jsp</welcome-file>
             </welcome-file-list>
             <!-- Web Application Error Pages -->
             <!-- Unauthorized Error -->
             <error-page>
             <error-code>403</error-code>
             <location>/unAuthorizedError.public</location>
             </error-page>
             <error-page>
             <!-- Role Error -->
             <error-code>400</error-code>
             <location>/unAuthorizedError.public</location>
             </error-page>
             <!-- Max Concurrent Users Reached -->
             <error-page>
             <error-code>900</error-code>
             <location>[CDATA[/systemAccess.jsp?error=900]]</location>
             </error-page>
             <!-- Localhost User and Server -->
             <error-page>
             <error-code>901</error-code>
             <location>[CDATA[/systemAccess.jsp?error=901]]</location>
             </error-page>
             <!-- Application Tag Library Descriptor -->
             <taglib>
             <taglib-uri>/tags/global</taglib-uri>
             <taglib-location>/tags/global.tld</taglib-location>
             </taglib>
             <!-- Struts Tag Library Descriptors -->
             <taglib>
             <taglib-uri>/tags/struts-bean</taglib-uri>
             <taglib-location>/WEB-INF/struts_tags/struts-bean.tld</taglib-location>
             </taglib>
             <taglib>
             <taglib-uri>/tags/struts-html</taglib-uri>
             <taglib-location>/WEB-INF/struts_tags/struts-html.tld</taglib-location>
             </taglib>
             <taglib>
             <taglib-uri>/tags/struts-logic</taglib-uri>
             <taglib-location>/WEB-INF/struts_tags/struts-logic.tld</taglib-location>
             </taglib>
             <taglib>
             <taglib-uri>/tags/struts-layout</taglib-uri>
             <taglib-location>/WEB-INF/struts_tags/struts-layout.tld</taglib-location>
             </taglib>
             <taglib>
             <taglib-uri>/tags/struts-tiles</taglib-uri>
             <taglib-location>/WEB-INF/struts_tags/struts-tiles.tld</taglib-location>
             </taglib>
             <taglib>
             <taglib-uri>/tags/struts-nested</taglib-uri>
             <taglib-location>/WEB-INF/struts_tags/struts-nested.tld</taglib-location>
             </taglib>
             <!-- ### Security -->
             <security-constraint>
             <web-resource-collection>
             <web-resource-name>Restricted</web-resource-name>
             <description>HELLO Module and Common Files Security</description>
             <!-- Module Directories -->
             <url-pattern>/community/*</url-pattern>
             <url-pattern>/fod/*</url-pattern>
             <url-pattern>/menu/*</url-pattern>
             <url-pattern>/message/*</url-pattern>
             <url-pattern>/report/*</url-pattern>
             <url-pattern>/survey/*</url-pattern>
             <url-pattern>/system/*</url-pattern>
             <url-pattern>/voicemail/*</url-pattern>
             <!--<url-pattern>/geoZone/*</url-pattern>-->
             <!--<url-pattern>*.properties</url-pattern>-->
             <!-- Common Files -->
             <url-pattern>/index.jsp</url-pattern>
             <url-pattern>/home.jsp</url-pattern>
             <!-- Struts Action -->
             <url-pattern>*.do</url-pattern>
             <http-method>HEAD</http-method>
             <http-method>GET</http-method>
             <http-method>POST</http-method>
             <http-method>PUT</http-method>
             <http-method>DELETE</http-method>
             </web-resource-collection>
             <auth-constraint>
             <role-name>SiteAdmins</role-name>
             <role-name>Yes</role-name>
             <role-name>BBS/VoiceMail</role-name>
             <role-name>EventTracker</role-name>
             <role-name>LaunchSession</role-name>
             <role-name>Mobilization</role-name>
             <role-name>Reports</role-name>
             <role-name>LaunchSession</role-name>
             <role-name>ok</role-name>
             </auth-constraint>
             </security-constraint>
             <login-config>
             <auth-method>FORM</auth-method>
             <realm-name> Secure Realm</realm-name>
             <form-login-config>
             <form-login-page>/login.public</form-login-page>
             <form-error-page>/loginError.public</form-error-page>
             </form-login-config>
             </login-config>
             <security-role>
             <description>A system adminstrative user.</description>
             <role-name>SiteAdmins</role-name>
             </security-role>
             <security-role>
             <description>A user: </description>
             <role-name></role-name>
             </security-role>
             <security-role>
             <description>A user: BBS/VoiceMail</description>
             <role-name>BBS/VoiceMail</role-name>
             </security-role>
             <security-role>
             <description>A user: EventTracker</description>
             <role-name>EventTracker</role-name>
             </security-role>
             <security-role>
             <description>A user: LaunchSession</description>
             <role-name>LaunchSession</role-name>
             </security-role>
             <security-role>
             <description>A user: Mobilization</description>
             <role-name>Mobilization</role-name>
             </security-role>
             <security-role>
             <description>A user: Reports</description>
             <role-name>Reports</role-name>
             </security-role>
             <security-role>
             <description>A user: LaunchSession</description>
             <role-name>LaunchSession</role-name>
             </security-role>
             <security-role>
             <description>A Person From : ok</description>
             <role-name>ok</role-name>
             </security-role>
            </web-app>
            
            


            • 3. Re: No Internet Connection: Dom4J XML Parsing Error
              jbriscoe

              The solution to this problem was to change the web.xml file's web-app_2_3.dtd DTD to a location on the server's file system, so that JBossWS, dom4j would not attempt to retrieve the dtd durring server startup. I used an absolute path to the file using the

              file:///
              protocol. I hope this helps.

              • 4. Re: No Internet Connection: Dom4J XML Parsing Error
                starksm64

                That should not be neccessary as there is an entity resolver entry for the "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" public id.
                See http://jira.jboss.com/jira/browse/JBAS-1789