Thanks for the attachment.
Short version of the story: This is due to a small bug that we expect to fix very soon. Thanks for reporting it. I've opened this issue to track the repair:
https://glassfish.dev.java.net/issues/show_bug.cgi?id=12562.
Long version:
There are both standard and GlassFish-specific deployment descriptors. Historically, the GlassFish-specific ones were named sun-xxx.xml where "xxx" is the name of the standard descriptor (such as application-client in your example). We are planning for GlassFish 3.1 to begin supporting glassfish-xxx.xml for the names of the GlassFish-specific descriptors (as well as sun-xxx.xml).
When you deploy an application that contains an app client, even if you do not provide your own application-client.xml or glassfish-application-client.xml, GlassFish generates those and places them into the app client JAR file it generates. When you launch your app client, the app client container parses those files, and to parse them it needs to resolve the DTD referenced in the glassfish-application-client.xml descriptor.
The GlassFish installation includes copies of the schemas and DTDs for the known standard and GlassFish-specific descriptors and includes logic to use those local copies rather than going out over the Internet to retrieve them from the URL. That is not happening for the new glassfish-application-client.xml because of a few missing lines of code. Because GlassFish cannot find the DTD locally it must try to retrieve it over the network, and that's where you're seeing the problem.
[Message sent by forum member 'tjquinn']
http://forums.java.net/jive/thread.jspa?messageID=477002