This email helped. Was able to find and fix the issue. It also turns out at least for mac anyway, that this issue happens only when you are *online* but without internet or java.sun.com access. If you are offline in the true sense of the word, it doesn't try to connect.

Anyway, it should be good to go now.

-David

On Mar 4, 2008, at 9:32 AM, Vasily Zakharov wrote:

Kevan,

Here, I've reproduced the problem with a simple test. It works ok if
proxy is set appropriately and fails if not, as it tries to download
the http://java.sun.com/dtd/ejb-jar_2_0.dtd and fails.

The stack is generally the same as for Geronimo/OpenEJB/SjAS:

java.net.ConnectException: Connection timed out: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.Socket.connect(Socket.java:516)
        at java.net.Socket.connect(Socket.java:466)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
        at sun.net.www.http.HttpClient.New(HttpClient.java:287)
        at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun .net .www .protocol .http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:795) at sun .net .www .protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java: 747) at sun .net .www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java: 672) at sun .net .www .protocol .http.HttpURLConnection.getInputStream(HttpURLConnection.java:916) at com .sun .org .apache .xerces .internal .impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973) at com .sun .org .apache .xerces .internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:905) at com .sun .org .apache .xerces .internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java: 872) at com .sun .org .apache .xerces .internal .impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:282) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl $DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:1021) at com .sun .org .apache .xerces .internal .impl .XMLDocumentFragmentScannerImpl .scanDocument(XMLDocumentFragmentScannerImpl.java:368) at com .sun .org .apache .xerces .internal.parsers.XML11Configuration.parse(XML11Configuration.java: 834) at com .sun .org .apache .xerces .internal.parsers.XML11Configuration.parse(XML11Configuration.java: 764) at com .sun .org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java: 148) at com .sun .org .apache .xerces .internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
        at Test.main(Test.java:15)

The test case (effectively extracted from ReadDescriptors.java) is:

import java.net.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
public class Test {
   public static void main(String[] args) throws Exception {
       try {
           URL url = new URL("file:ejb-jar.xml");
InputSource inputSource = new InputSource(url.openStream());
           SAXParserFactory factory = SAXParserFactory.newInstance();
           factory.setNamespaceAware(true);
           factory.setValidating(false);
           SAXParser parser = factory.newSAXParser();
           parser.parse(inputSource, new DefaultHandler() {
               public void startElement(String uri, String localName,
String qName, Attributes att) throws SAXException {
                   if (!localName.equals("ejb-jar")) throw new
SAXException(localName);
               }
           });
           System.out.println("SUCCESS");
       } catch (Exception e) {
           System.out.print("ERROR: ");
           e.printStackTrace(System.out);
       }
   }
}

The ejb-jar.xml file used in the test is pretty trivial:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd";>
<ejb-jar/>

I'm not sure what I maybe doing wrong, but it seems this test exactly
replicates the problem I encounter with Geronimo/SjAS.

Any ideas how to deal with it?

Thanks!

Vasily



On Tue, Mar 4, 2008 at 10:11 AM, Kevan Miller <[EMAIL PROTECTED]> wrote:


On Mar 1, 2008, at 8:31 PM, Vasily Zakharov wrote:

I have no idea what's going on with it.  It really ticks me off as
that's the kind of feature you should have to enable in a parser not
disable.

Is it? I thought the engine should first check if the necessary scheme
is present locally and only try download if no local copy is present.
Isnt't it true?

Shouldn't we reopen OPENEJB-700 anyway?

Vasily,
I just tested using Daytrader. I turned off wireless and unplugged ethernet. I was able to deploy without a problem. I wonder if this problem could be
specific to Windows?





If you have some time to debug, the
JaxbJavaee.NamespaceFilter.resolveEntity(...) method should be the one
stopping things from downloading.

Ok, I'll check that, thanks.

Vasily


On Sun, Mar 2, 2008 at 12:56 AM, David Blevins <[EMAIL PROTECTED] >
wrote:

On Feb 29, 2008, at 8:36 AM, Vasily Zakharov wrote:


Hi, all,



I'm once again trying to couple SPECjAppServer2004 with Geronimo, now

version 2.1, and one of the problems I observe is:



Issue OPENEJB-700 that is now closed as it was fixed in OpenEJB v3.0b2

that is used in G2.1, seems to be still actual for some reason. On

G2.1 I still can't deploy SjAS unless the internet connection is

present and proxy properly configured. The following error is shown by

the Deployer:



Error: Unable to distribute SPECjAppServer.ear:

org.apache.openejb.OpenEJBException: Cannot read the ejb-jar.xml file:

jar:file:/C:/Temp/geronimo-deploymentUtil48973.jar!/META-INF/ejb-

jar.xml:

Connection timed out: connect
Could you provide the entire stack trace?

--kevan


Reply via email to