X

Pavel Bucek's Weblog

  • June 2, 2011

Sun web app dtds are gone - Error parsing descriptor file WEB-INF/sun-web.xml

UPDATE: Mentioned issue was only a glitch and is fixed now, so original URLs are back online. Anyway that mirror is up too, so someone still could find this useful.

As of today, some of our tests began failing and I kind of wondered why (have to do promoted build tomorrow and its not possible to do it without testing) so.. looking at stacktrace:

SEVERE: Error parsing descriptor Deployment descriptor file WEB-INF/sun-web.xml in archive [webapp].
java.io.IOException: Error parsing descriptor Deployment descriptor file WEB-INF/sun-web.xml in archive [webapp].

at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:336)

at com.sun.enterprise.deployment.archivist.Archivist.readRuntimeDeploymentDescriptor(Archivist.java:558)

at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:165)

at org.glassfish.javaee.core.deployment.JavaEEDeployer.parseModuleMetaData(JavaEEDeployer.java:229)

at com.sun.enterprise.web.WebDeployer.parseModuleMetaData(WebDeployer.java:129)

at org.glassfish.javaee.core.deployment.JavaEEDeployer.loadMetaData(JavaEEDeployer.java:162)

at com.sun.enterprise.v3.server.ApplicationLifecycle.prepare(ApplicationLifecycle.java:455)

at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:241)

at org.glassfish.embed.GlassFish.deploy(GlassFish.java:422)

at com.sun.jersey.samples.helloworld.HelloWorldWebAppTest.setUp(HelloWorldWebAppTest.scala:87)

at junit.framework.TestCase.runBare(TestCase.java:132)

at junit.framework.TestResult$1.protect(TestResult.java:110)

at junit.framework.TestResult.runProtected(TestResult.java:128)

at junit.framework.TestResult.run(TestResult.java:113)

at junit.framework.TestCase.run(TestCase.java:124)

at junit.framework.TestSuite.runTest(TestSuite.java:243)

at junit.framework.TestSuite.run(TestSuite.java:238)

at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)

at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)

at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)

at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)

at org.apache.maven.surefire.Surefire.run(Surefire.java:177)

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:597)

at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)

at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: java.io.FileNotFoundException: http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)

at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)

at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315)

at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282)

at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1194)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1090)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1003)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)

at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)

at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)

at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:289)

... 27 more

 it basically tells you everything. Looks like good old http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd is definitely gone.  I haven't noticed any announcement or warning about it and it took a while to find new url but I finally did.

Mirror locations for old sun dtds:

sun-web-app_2_5-0.dtd -> http://glassfish.java.net/dtds/sun-web-app_2_5-0.dtd

sun-web-app_2_4-0.dtd -> http://glassfish.java.net/dtds/sun-web-app_2_4-0.dtd

sun-web-app_2_3-0.dtd -> http://glassfish.java.net/dtds/sun-web-app_2_3-0.dtd

Join the discussion

Comments ( 7 )
  • guest Friday, June 3, 2011
    Yesterday they have modified the URL without any announcement from
    http://www.sun.com/software/appserver/dtds/xxx.dtd
    to
    http://www.sun.com/software/dtd/appserver/xxx.dtd
    After realizing their mistake, they have added a server redirection from old location to the new one (open http://www.sun.com/software/appserver/dtds and you will see that it goes to http://www.sun.com/software/dtd/appserver/). So at least for the moment the old URLs are still valid.
    Thanks for scaring me, Oracle! :/
  • Pavel Bucek Friday, June 3, 2011
    I was pretty much scared too :)
    it was not intentional. There was planned decommission of some legacy sun servers and redirect should have been there before it happened. Unfortunately nothing is perfect so it was promptly added when we reported it.
    You are right that location changed but redirects are (and will be) in place.
  • guest Wednesday, June 29, 2011

    Today java.sun.com is down again, and the mentioned mirror for the dtds(glassfish.java.net) is down as well (HTTP 503: Service Unavailable)


  • guest Wednesday, August 17, 2011

    Are the Sun Web App DTDs still down ?

    I am still getting this error while deploying my application.

    "java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-1.dtd"


  • Pavel Bucek Wednesday, August 17, 2011

    it must have been some temporary glitch, it returns 301 with correct URL in Location header:

    curl -vvv http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd

    * About to connect() to www.sun.com port 80 (#0)

    * Trying 137.254.16.113... connected

    * Connected to www.sun.com (137.254.16.113) port 80 (#0)

    > GET /software/appserver/dtds/sun-web-app_2_5-0.dtd HTTP/1.1

    > User-Agent: curl/7.16.4 (i386-apple-darwin9.0) libcurl/7.16.4 OpenSSL/0.9.7l zlib/1.2.3

    > Host: www.sun.com

    > Accept: */*

    >

    * HTTP 1.0, assume close after body

    < HTTP/1.0 301 Moved Permanently

    < Location: http://www.oracle.com/webfolder/technetwork/sun/software/dtd/appserver/sun-web-app_2_5-0.dtd

    < Server: BigIP

    < Connection: close

    < Content-Length: 0


  • guest Thursday, August 18, 2011

    I just noticed that this thread is discussing about the sun-web-app.dtd and i'm getting issue with sun-ejb-jar.dtd.

    And I'm still facing the same issue . Even tried changing the proxy settings. But didn't bring any success.


  • Pavel Bucek Thursday, August 18, 2011

    sun-ejb-jar.dtd is accessible.. or at least for me:

    $ curl -vvv http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-1.dtd

    * About to connect() to www.sun.com port 80 (#0)

    * Trying 137.254.16.113... connected

    * Connected to www.sun.com (137.254.16.113) port 80 (#0)

    > GET /software/appserver/dtds/sun-ejb-jar_3_0-1.dtd HTTP/1.1

    > User-Agent: curl/7.16.4 (i386-apple-darwin9.0) libcurl/7.16.4 OpenSSL/0.9.7l zlib/1.2.3

    > Host: www.sun.com

    > Accept: */*

    >

    * HTTP 1.0, assume close after body

    < HTTP/1.0 301 Moved Permanently

    < Location: http://www.oracle.com/webfolder/technetwork/sun/software/dtd/appserver/sun-ejb-jar_3_0-1.dtd

    < Server: BigIP

    < Connection: close

    < Content-Length: 0

    <

    * Closing connection #0

    $ curl -vvv http://www.oracle.com/webfolder/technetwork/sun/software/dtd/appserver/sun-ejb-jar_3_0-1.dtd

    * About to connect() to www.oracle.com port 80 (#0)

    * Trying 92.122.50.192... connected

    * Connected to www.oracle.com (92.122.50.192) port 80 (#0)

    > GET /webfolder/technetwork/sun/software/dtd/appserver/sun-ejb-jar_3_0-1.dtd HTTP/1.1

    > User-Agent: curl/7.16.4 (i386-apple-darwin9.0) libcurl/7.16.4 OpenSSL/0.9.7l zlib/1.2.3

    > Host: www.oracle.com

    > Accept: */*

    >

    < HTTP/1.1 200 OK

    < Cache-Control: no-cache

    < Content-Type: Application/dtd

    < Content-Disposition: inline; filename*=UTF-8''sun-ejb-jar_3_0-1.dtd; filename="sun-ejb-jar_3_0-1.dtd"

    < Content-Length: 39011

    < Server: Oracle-Application-Server-11g Oracle-Web-Cache-11g/11.1.1.3.0 (M;max-age=300+0;age=0;ecid=16567600978524289,0:1)

    < Date: Thu, 18 Aug 2011 08:01:02 GMT

    < Connection: keep-alive

    // file content


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha