# Exception in thread "Timeout guard" java.lang.NoClassDefFoundError



## MadM (18. April 2007)

Moin,

bei dem Versuch einen Axis-Webservice unter Tomcat 6 aufzurufen erscheint folgenden Exception:


```
Exception in thread "Timeout guard" java.lang.NoClassDefFoundError: Could not initialize class java.net.ProxySelector
            at java.net.SocksSocketImpl$5.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.SocksSocketImpl.connect(Unknown Source)
            at java.net.Socket.connect(Unknown Source)
            at java.net.Socket.connect(Unknown Source)
            at java.net.Socket.<init>(Unknown Source)
            at java.net.Socket.<init>(Unknown Source)
```

Bin seit Tagen am rumwerkeln..Google liefrt lediglich http://forum.java.sun.com/thread.jspa?threadID=733623&tstart=180 , das hilft mir aber auch nicht weiter.
Auf einem anderen Testsystem läuft die Sache, denke es könnte was mit der Tomcat-Konfiguration zu tun haben.
Für Hilfe wäre ich sehr dankbar, Chef und Kunde sitzen im Nacken.

Gruß
MadM


----------



## Thomas Darimont (18. April 2007)

Hallo,

welche Java Version / SDK/JRE verwendest du? Welches Betriebssystem? 
Die Klasse ProxySelector macht in dem static Initializer Block in dem der Fehler passiert folgendes:

```
static { 
    try {
        Class c = Class.forName("sun.net.spi.DefaultProxySelector");
        if (c != null && ProxySelector.class.isAssignableFrom(c)) {
        theProxySelector = (ProxySelector) c.newInstance();
        }
    } catch (Exception e) {
        theProxySelector = null;
    }
    }
```
Sieht ganz so aus als könnte er die Klasse sun.net.spi.DefaultProxySelector bzw, eine davon abhängige Klasse nicht finden... 

Gruß Tom


----------



## MadM (18. April 2007)

Hi Tom,

wusste doch dass du anbeisst ;-)
JDK / JRE: 1.5.0_11
Test-OS: WinXP

Das merkwürdige is wie gesagt dass es auf einem Rechner läuft auf dem andern net...und wir finden net raus was der Unterschied is. Irgendwas mit Pfaden, Variablen o.Ä.
Falls es hilft: Es wird Commmons-Httpclient verwendet.

Gruß
MadM

UPDATE:
Mal am Rande: Wie kommst du an die Sourcen um nachzusehen was da passiert?


----------



## zeja (18. April 2007)

MadM hat gesagt.:


> UPDATE:
> Mal am Rande: Wie kommst du an die Sourcen um nachzusehen was da passiert?



Die Sourcen kann man mit dem JDK mitinstallieren. Im Installationsverzeichnis findet sich dann ein src.zip.

Oder als direkten Download JDK 6 Downloads


----------



## MadM (18. April 2007)

zeja hat gesagt.:


> Die Sourcen kann man mit dem JDK mitinstallieren. Im Installationsverzeichnis findet sich dann ein src.zip.
> 
> Oder als direkten Download JDK 6 Downloads



Beim JDK 6 schon, aber beim 5er?


----------



## zeja (18. April 2007)

Na genauso 

JDK 5 Downloads


----------



## MadM (18. April 2007)

Mkay, Asche auf mein Haupt.....sehe vor lauter Bäumen den Wald nicht mehr


----------



## MadM (18. April 2007)

So,

nach einem durch Try-and-Error geprägten Nachmittag hier endlich die Lösung:
Szenario:
Tomcat 5.5
JRE 1.5.0_11
Axis2 Webapp
selbstentwickelter Webservice

Wenn man den Webservice aufruft, ohne vorher die "Axis 2 Happiness Page" aufgerufen zu haben, wird o.g. Exception geworfen. Das ist Alles. Hat auch nur einen Tag gedauert das herasuzufinden.
Jetzt die Quizfrage: Warum? Ich denke dass irgendein Axis-Servlet erst initialisiert werden muss, was durch den Aufruf der Seite geschieht. Erst dann ist der Webservice verfügbar.

Feierabend
MadM


----------

