Webstart-Applikation über Proxy läuft nicht

Ich habe eine java webstart Applikation erstellt, die RMI verwendet.

Server:

           UnicastRemoteObject.exportObject(timer);
           Registry registry = LocateRegistry.createRegistry(1099);
           registry.rebind("TimeServer", timer);```


Client:
```           Registry registry = LocateRegistry.getRegistry("<server-ip>", 1099);
           server = (ServerGetTimeInt) registry.lookup("TimeServer");```

          

Der Client wird über webstart  herunter geladen und konnektiert sich mit dem Server. Wenn eine direkte  Internetverbindung vorhanden ist, funktioniert es problemlos. Wenn die  Client-Internetverbindung über ein Http-Proxy (mit Benutzeranmeldung) erfolgt, kann sich der Client mit dem Server nicht konnektieren. Es wird der Fehler: 

java.rmi.ConnectException: Connection refused to host: <server-ip>   
java.net.ConnectException: Connection timed out

zurück gegeben. 

Wenn der Client hinter dem Http-Proxy nicht über Webstart sondern als lokale Applikation gestartet wird, also: 

```java -classpath . -Djava.security.policy=./allaccess.policy -jar client.jar```

funktioniert es auch [IMG]http://www.java-forum.org/images/smilies/wink.gif[/IMG]

Könnte mir jemand bitte helfen?
Was habe ich denn übersehen?
Ohne Proxy läuft Webstart problemlos. Hinter dem Proxy klappt ein Client-Login nur wenn das Programm als lokale Applikation gestartet wurde, jedoch nicht über Webstart. Habe ich in der jnlp-Datei etwas vergessen? Oder andere Einstellungen übersehen?

Hier ist die jnlp-Datei:

[XML]<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File -->
<jnlp spec="1.0+" codebase="https://<server-ip>/myAppl" href="myAppl.jnlp">

<information>
  <title>MyAppl</title>
  <vendor>Test</vendor>
  <homepage href="https://<server-ip>/myAppl"/>
  <description>Test</description>
  <description kind="short">Test</description>
  <shortcut online="true">
      <desktop/>
      <menu submenu="Test"/>
  </shortcut>
  <icon href="pict/test.gif"/>
  <icon kind="splash" href="pict/test.jpg"/> 
  <offline-allowed/>
</information>

<security>
   <all-permissions/> 
</security>

<resources>
  <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Djava.security.policy=H:\\allaccess.policy"/>
  <jar href="client.jar"/>
  
</resources>

<application-desc main-class="test.client.MyAppl"/>

</jnlp>[/XML]

Danke für die Hilfe!
Frank

Hast du schon mal eine einfachere Anwendung mit Webstart versucht?
RMI ist ziemlich nachtragend, wenn man etwas verkehrt macht. Es gibt eine ziemlich lange Liste, an Dingen, die bedacht werden müssen.

[QUOTE=L-ectron-X]Hast du schon mal eine einfachere Anwendung mit Webstart versucht?
RMI ist ziemlich nachtragend, wenn man etwas verkehrt macht. Es gibt eine ziemlich lange Liste, an Dingen, die bedacht werden müssen.[/QUOTE]

Hallo,

danke für die Hilfe!
Wie oben erwähnt, diese RMI-Applikation läuft problemlos wenn die (Internet-)Verbindung zwichen dem Client und dem Server eine direkte Verbindung ist, ohne Proxy. Die Probleme beginnen wenn der Client sich hinter einem Http-Proxy befindet. Da läuft die Applikation nur als lokale RMI-Applikation, nicht als Webstart-Applikation, wie es erwünscht wäre.

RMI hat diesbezüglich recht eingeschränkte Fähigkeiten. Callback und Proxys sind klare Stolpersteine.
Ich empfehle dir die RMI-Alternative SIMON.