# Dringend: Sehr kompliziertes Applet Problem



## Marko2001 (23. Nov 2008)

Hallo,

Ich habe 2 Domains. 

Auf der einen liegt mein Applet jar das ich per pack200+gzip verkleinert habe. 
Auf der 2ten liegt die eigentliche Webseite mit dem applet-Tag welcher das pack200.gz file von Domain1 laedt.

Das Problem ist, dass das Applet unsigniert ist. D.h. wenn das jar auf Domain1 liegt, kann das Applet auch nur von dort Daten laden. Ich will aber auch Daten von Domain 2 laden koennen. Ich muss sogar.

Das Applet funzt super, kann aber halt nur Daten von Domain1 laden.


Aufgrund von Umstaenden die ich nicht kurz beschreiben kann ich das Setup mit 2 Domains nicht aufgeben oder aendern.


Ich habe zugriff auf beide Domain-A und CNAME settings. Kann ich irgendwie Domain2 vorgaukeln, dass das pack200.gz file eigentlich von ihr selbst kommt und nicht von Domain1? Das wuerde dem Applet ausreichen um fortan Daten von Domain2 laden zu koennen.

puhhh...hoffentlich hat das jemand verstanden und kann mir helfen


----------



## L-ectron-X (23. Nov 2008)

Ich habs verstanden.  Das ist eigentlich recht simpel und mit Hausmittel lösbar.
Du brauchst das _codebase_-Attribut. Die Anwendung anhand von Beispielen wird in diesem FAQ-Beitrag beschrieben.

Aus Kompatibilitätsgründen solltest du besser auf jar-Dateien setzen.


----------



## Guest (23. Nov 2008)

L-ectron-X hat gesagt.:
			
		

> Ich habs verstanden.  Das ist eigentlich recht simpel und mit Hausmittel lösbar.
> Du brauchst das _codebase_-Attribut. Die Anwendung anhand von Beispielen wird in diesem FAQ-Beitrag beschrieben.
> 
> Aus Kompatibilitätsgründen solltest du besser auf jar-Dateien setzen.



ich glaube sowas habe ich schon ausprobiert. codebase hilft nicht soweit ich weiss. Das Applet laed zwar perfekt (das funktioniert auch ohne codebase, mit absolutem Pfad auf das applet-jar), das Problem ist, wenn ich nun einen Http-Stream oeffnen will, kann ich das nur zum host/domain machen wo das applet-jar liegt, aber nicht mehr zu dem host wo die Html Seite liegt, die der Browser aufgerufen hat.

Ich hoffe auch das verstehst du


----------



## ospx (28. Nov 2008)

Du willst das security-System umgehen. Das geht so ohne weiteres nicht. Aber du könntest zwei Applets in den html-Code einbetten. Ein Applett wird dabei von Server1 geladen, das andere von Server2. Verschiedene Applets innerhalb eines Documents können miteinander kommunizieren und da die Applets jeweils von verschiedenen Servern kommen, sollte es auch möglich sein, mit beiden Servern zu kommunizieren zu können. Ich denke, das ist in etwa das, was du willst.
Ein Applet der beiden könnte dabei ein Miniapplet sein, welches fast ausschließlich die Instanzen des anderen eigentlichen "Haupt-Applets" anspricht. Habe das noch nicht probiert - ist also nur eine theoretische Idee, aber vielleicht läßt sich dein Problem darüber lösen.
Gruß

Edit : Es geht nun neuerdings doch mit dem Java_SE_6_update_10,  auch mit verschiedenen Domains/Servern zu kommunizieren:
Cross-Domain XML Support : https://jdk6.dev.java.net/plugin2/#CROSSDOMAINXML


----------



## Guest (29. Nov 2008)

ospx hat gesagt.:
			
		

> Du willst das security-System umgehen. Das geht so ohne weiteres nicht. Aber du könntest zwei Applets in den html-Code einbetten. Ein Applett wird dabei von Server1 geladen, das andere von Server2. Verschiedene Applets innerhalb eines Documents können miteinander kommunizieren und da die Applets jeweils von verschiedenen Servern kommen, sollte es auch möglich sein, mit beiden Servern zu kommunizieren zu können. Ich denke, das ist in etwa das, was du willst.
> Ein Applet der beiden könnte dabei ein Miniapplet sein, welches fast ausschließlich die Instanzen des anderen eigentlichen "Haupt-Applets" anspricht. Habe das noch nicht probiert - ist also nur eine theoretische Idee, aber vielleicht läßt sich dein Problem darüber lösen.
> Gruß
> 
> ...




Das mit der Inter-Applet-Kommunikation kannte ich, hab es in Betracht gezogen und verworfen. Ist einfach zu nervig. Crossdomain ist mir auch bekannt, aber ich will auch Java5 und OSX unterstuetzen und damit ist es leider keine Option.

Trotzdem vielen Dank. Du weisst Bescheid


----------

