ich habe ein Problem mit Java Web Start und erhoffe mir auf diesem
Wege eine Lösung.
Ausgangssituation:
Ich greife auf ein SAP System einer anderen Firma zu. Die andere Firma
(Lieferant) hat einen Proxy am laufen, den ich auch in meinen
Internetoptionen (Windows XP - IE) eingetragen habe. Damit klappt auch
der Zugriff aufs internet problemlos.Starte ich nun eine Software über
SAP (SAP Exchange Infrastructure - Integration Builder/Integration
Directory), welche Java Web Start benötigt, dann kommt ein Popup in
dem steht: "Neueste Version wird gesucht".
Dann braucht es ca 15 - 20 min und es erscheint folgende Exception:
Allgemein:
Beim Starten/Ausführen der Anwendung ist ein Fehler aufgetreten.
Titel: Integration Builder
Hersteller: SAP AG
Kategorie: Download-Fehler
Ressource konnte nicht geladen werden:
http://whmxps02:50400/rep/repository/aii_ibrep_client.jar
Startdatei:
<jnlp spec="1.0+" codebase="http://whmxps02:50400/rep">
<information>
<title>Integration Builder</title>
<vendor>SAP AG</vendor>
<homepage href="http://www.sap.com" />
<description type="one-line">Repository</description>
<description type="short">Repository</description>
<description type="tooltip">Repository</description>
<icon hight="64" href="start/graphics/sap6464.gif"
type="splash" width="64" />
<icon hight="32" href="start/graphics/SAP3232.gif" width="32"
/>
</information>
<security>
<all-permissions />
</security>
<resources>
<j2se version="1.4+" initial-heap-size="32m"
max-heap-size="512m" />
<jar href="repository/aii_ibrep_client.jar" />
<jar href="repository/aii_ibrep_core.jar" />
<jar href="repository/aii_ibrep_sbeans.jar" />
<jar href="repository/aii_ibrep_rb.jar" />
<jar href="repository/aii_ib_client.jar" />
<jar href="repository/aii_ib_core.jar" />
<jar href="repository/aii_ib_sbeans.jar" />
<jar href="repository/aii_ib_rb.jar" />
<jar href="repository/aii_proxy_gen.jar" />
<jar href="repository/aii_map_api.jar" />
<jar href="repository/aii_mt_base.jar" />
<jar href="repository/aii_mt_rb.jar" />
<jar href="repository/aii_mt_rt.jar" />
<jar href="repository/aii_util_icons.jar" />
<jar href="repository/aii_util_swing.jar" />
<jar href="repository/aii_util_xsd.jar" />
<jar href="repository/aii_util_xml.jar" />
<jar href="repository/aii_utilxi_misc.jar" />
<jar href="repository/aii_util_rb.jar" />
<jar href="repository/aii_upload_core.jar" />
<jar href="repository/aii_upload_sap.jar" />
<jar href="repository/clientaii_ib_sbeans.jar" />
<jar href="repository/clientaii_ibrep_sbeans.jar" />
<jar href="repository/frog.jar" />
<jar href="repository/focus14.jar" />
<jar href="repository/sapxmltoolkit.jar" />
<jar href="repository/jta.jar" />
<jar href="repository/ejb20.jar" />
<jar href="repository/exception.jar" />
<jar href="repository/logging.jar" />
<jar href="repository/guidgenerator.jar" />
<jar href="repository/jperflib.jar" />
<jar href="repository/tenComposite.jar" />
<jar href="repository/tenGraph.jar" />
<jar href="repository/tenGraphics.jar" />
<jar href="repository/tenGenerics.jar" />
<jar href="repository/tenGui.jar" />
<jar href="repository/sapni.jar" />
<jar href="repository/sapj2eeclient.jar" />
<property name="jnlp.log.initialConfiguration" value="FILE,
SIMPLE" />
<property name="jnlp.com.sap.aii.ib.client.properties"
value="com.sap.aii.ib.client.*, com.sap.aii.ib.core.*,
com.sap.aii.util.xml.*, com.sap.aii.connect.*,
com.sap.aii.repository.mapping.additionaltypes, com.sap.aii.docu.*,
com.sap.aii.ibrep.core.cms.activated,
com.sap.aii.ibdir.core.cms.activated" /><property
name="jnlp.com.sap.aii.connect.integrationserver.r3.sysnr" value="04"
/><property name="jnlp.com.sap.aii.connect.landscape.contextroot"
value="sld" /><property name="jnlp.com.sap.aii.connect.cr.name"
value="whmxps02" /><property
name="jnlp.com.sap.aii.ib.client.content.languages" value="EN,DE"
/><property name="jnlp.com.sap.aii.connect.repository.contextroot"
value="rep" /><property
name="jnlp.com.sap.aii.ib.client.login.languages" value="EN,DE"
/><property name="jnlp.com.sap.aii.connect.directory.rmiport"
value="50404" /><property
name="jnlp.com.sap.aii.connect.cr.contextroot" value="sld" /><property
name="jnlp.com.sap.aii.connect.rwb.r3.client" value="003" /><property
name="jnlp.com.sap.aii.connect.directory.contextroot" value="dir"
/><property name="jnlp.com.sap.aii.connect.rwb.contextroot"
value="rwb" /><property
name="jnlp.com.sap.aii.connect.repository.rmiport" value="50404"
/><property name="jnlp.com.sap.aii.connect.repository.httpport"
value="50400" /><property
name="jnlp.com.sap.aii.connect.directory.name" value="whmxps02"
/><property name="jnlp.com.sap.aii.connect.repository.name"
value="whmxps02" /><property
name="jnlp.com.sap.aii.connect.integrationserver.contextroot"
value="run" /><property
name="jnlp.com.sap.aii.connect.integrationserver.name"
value="whmxps02" /><property
name="jnlp.com.sap.aii.connect.landscape.httpport" value="50400"
/><property name="jnlp.com.sap.aii.docu.languages" value="null"
/><property name="jnlp.com.sap.aii.ib.client.jnlp.j2se.initialheapsize"
value="32m" /><property name="jnlp.com.sap.aii.util.xml.parserFactory"
value="com.sap.engine.lib.jaxp.SAXParserFactoryImpl" /><property
name="jnlp.com.sap.aii.repository.mapping.additionaltypes"
value="none" /><property
name="jnlp.com.sap.aii.connect.directory.httpport" value="50400"
/><property name="jnlp.com.sap.aii.connect.integrationserver.r3.httpport"
value="8004" /><property name="jnlp.com.sap.aii.connect.rwb.name"
value="whmxps02" /><property
name="jnlp.com.sap.aii.connect.integrationserver.r3.client"
value="003" /><property name="jnlp.com.sap.aii.connect.cr.httpport"
value="50400" /><property
name="jnlp.com.sap.aii.connect.landscape.name" value="whmxps02"
/><property name="jnlp.SAPMYNAME" value="whmxps02_NW4_04" /><property
name="jnlp.com.sap.aii.connect.rwb.httpport" value="50400" /><property
name="jnlp.com.sap.aii.docu.url" value="null" /><property
name="jnlp.com.sap.aii.ib.client.applicationname.directory"
value="sap.com/com.sap.xi.directory/" /><property
name="jnlp.com.sap.aii.ib.client.applicationname.repository"
value="sap.com/com.sap.xi.repository/" /><property
name="jnlp.com.sap.aii.util.xml.transformerFactory"
value="com.sap.engine.lib.jaxp.TransformerFactoryImpl" /><property
name="jnlp.com.sap.aii.ib.client.login.InitialContextFactory"
value="com.sap.engine.services.jndi.InitialContextFactoryImpl"
/><property name="jnlp.com.sap.aii.connect.integrationserver.httpport"
value="50400" /><property name="jnlp.client" value="true" /><property
name="jnlp.com.sap.aii.ib.client.jnlp.j2se.maxheapsize" value="512m"
/><property name="jnlp.com.sap.aii.connect.integrationbuilder.startpage.url"
value="rep/start/index.jsp" /><property
name="jnlp.com.sap.aii.ibrep.core.cms.activated" value="false"
/><property name="jnlp.com.sap.aii.connect.rwb.r3.sysnr" value="04"
/><property name="jnlp.com.sap.aii.util.xml.schemaValidator"
value="com.sap.engine.lib.schema.validator.SchemaValidator"
/><property name="jnlp.rc.release" value="30_VAL_REL" /><property
name="jnlp.rc.applname" value="REPOSITORY" /><property
name="jnlp.rc.supportpackage" value="09" /><property
name="jnlp.rc.synctime" value="200410172202" /></resources>
<application-desc
main-class="com.sap.aii.ibrep.gui.appl.ApplicationImpl">
<argument>webstart</argument>
</application-desc>
</jnlp>
Ausnahme:
JNLPException[category: Download-Fehler : Exception:
java.util.zip.ZipException: invalid block type : LaunchDesc: null ]
at com.sun.javaws.cache.DownloadProtocol$RetrieveAction.actionDownload(Unknown
Source)
at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload.getSignedJNLPFile(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedLaunchDescHelper(Unknown
Source)
at com.sun.javaws.LaunchDownload.checkSignedLaunchDesc(Unknown
Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Gekapselte Ausnahme:
java.util.zip.ZipException: invalid block type
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.util.zip.GZIPInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at com.sun.javaws.net.BasicDownloadLayer.download(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol$RetrieveAction.actionDownload(Unknown
Source)
at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
at com.sun.javaws.cache.DownloadProtocol.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload.getSignedJNLPFile(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedLaunchDescHelper(Unknown
Source)
at com.sun.javaws.LaunchDownload.checkSignedLaunchDesc(Unknown
Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Natürlich habe ich zu dem Problem gegoogelt...(und nicht zu knapp).
Doch ich stoße immer wieder nur auf den Tipp, die Proxyeinstellungen
im Java Webstart manuell anzugeben. Das hab ich gemacht. Leider immer
noch mit gleichem Ergebnis.
Verwunderlich ist, dass die Beispielanwendungen ( im Java Webstart
(Dieser Notepad, oder irgend so ein Spiel) (Remoteanwendungen)
funktionieren. Wenn diese zum ersten mal gestartet werden kommt
ebenfalls die "Suche nach der neuesten Version". Doch bereits nach
einigen Sekunden startet die Anwendung erfolgreich.
Kann jemand von Euch vielleicht etwsa zu dem Problem sagen? Hat jemand
evtl. ne Lösung dafür? Evtl. Sicherheitseinstellungen in meiner Firma?
Ich wäre wirklich um jede Antwort dankbar. Das Problem beschäftigt
mich schon mehrere Tage.
Schöne Grüße und vielen Dank
Tobias
> Ich greife auf ein SAP System einer anderen Firma zu. Die andere Firma
> (Lieferant) hat einen Proxy am laufen, den ich auch in meinen
> Internetoptionen (Windows XP - IE) eingetragen habe. Damit klappt auch
> der Zugriff aufs internet problemlos.
> Ressource konnte nicht geladen werden:
> http://whmxps02:50400/rep/repository/aii_ibrep_client.jar
Greifst du auf die JNLP-Datei auch schon mit einer URL in dieser Form
(Nicht offiziell im Internet bekannter Namen, ungewöhnlicher Port) zu?
-> Nicht jeder Proxy lässt Anfragen auf solchen Ports durch
> JNLPException[category: Download-Fehler : Exception:
> java.util.zip.ZipException: invalid block type : LaunchDesc: null ]
So eine Fehlermeldung habe ich - wenn ich mich recht erinnere -
allerdings bei Proxy-Problemen noch nicht zu Gesicht bekommen. Es ist
aber sichergestellt, das nicht evtl. eines der JAR-Files "defekt" ist
(z.B. ASCII-Upload per FTP, o.ä.)?
Hast du eine Möglichkeit dir die Verzeichnisstruktur einmal schicken zu
lassen (als Archiv) und mal zu schauen, ob ein "jar -tvf" mit allen
referenzierten Dateien klarkommt?
Nico
Irgendwie kapier ich die Sache nicht ganz, also wer worauf zugreift,
warum der Servername "whmxps02", also unqualifiziert ist, etc.
Jedenfalls kann man Proxy-Einstellungen am besten im JNLP-File
vornehmen, und zwar so (bei mir noch mit Variablen, die durch ein
ANT-Script ersetzt werden):
<resources>
<j2se version="1.4+"/>
<!-- code libraries and configuration jar files -->
<jar href="lib/%APPLICATION_NAME%.jar" main="true"
version="%APPLICATION_VERSION%"/>
<jar href="lib/config.jar"/>
<!-- %LIBRARIES% -->
<!-- LProxy configuration
<property name="http.proxyHost" value="22.122.122.22"/>
<property name="http.nonProxyHosts"
value="22.2.*|12.22.*|122.2.222.221"/>
-->
</resources>
--
---------------------------------------------
Andreas Jaeger
http://afi.uni-muenster.de
afi - Institut für Agrar- und Forstinformatik
an der Universität Münster
---------------------------------------------
> Jedenfalls kann man Proxy-Einstellungen am besten im JNLP-File
> vornehmen, und zwar so (bei mir noch mit Variablen, die durch ein
> ANT-Script ersetzt werden):
Proxy-Einstellungen in der JNLP-Datei dürften aber doch erst zum tragen
kommen, wenn die Anwendung auch gestartet worden ist, oder? Da es den
Eindruck macht das die Anwendung (bzw. in dem Falle dann der
Webstart-Client) während des Starts schon wegen eines Fehlers abbricht
dürfte das dann hier nicht viel helfen, oder? (Es sei denn, ich
interpretiere die Fehlermeldung des OP falsch)
Nico
> Proxy-Einstellungen in der JNLP-Datei dürften aber doch erst zum tragen
> kommen, wenn die Anwendung auch gestartet worden ist, oder?
Oh, das wäre nicht ganz unmöglich. Weil ja die Resourcen runtergeladen
werden, bevor die Anwendung gestartet wird, und diese dann die Resourcen
aus dem Cache bekommt. Dann sollte aber eine direkte Einstellung der
Proxy-Werte im WebStart Control Panel was bewirken?
zunächst einmal euch beiden vielen Dank für die Antworten.
> Greifst du auf die JNLP-Datei auch schon mit einer URL in dieser Form
> (Nicht offiziell im Internet bekannter Namen, ungewöhnlicher Port) zu?
Ich muss gestehen da bin ich überfragt. ich klicke nur einen Link auf
der Oberfläche der SAP Exchange Infrastructure an. Dann sollte sich
das Java Webstart mit der entsprechenden Anwendung öffnen...
Diese Fehlermeldung erhalte ich allerdings nur, wenn ich von meiner
Firma versuche auf den entfernten Rechner zuzugreifen. Bin ich beim
Lieferanten, dann funktioniert alles. Sprich: Die Files scheinen in
Ordnung zu sein.
Wenn ich jetz z.B. auch im IE die Url die er anscheinend nicht laden
kann (lt. Fehlermeldung) eingebe, also:
http://whmxps02:50400/rep/repository/aii_ibrep_client.jar
dann kann ich die .jar datei auch ohne probleme speichern. es scheint
da nur probleme im zusammenhang mit dem java web start zu geben...
schöne grüße und vielen dank nochmal
tobias
> Wenn ich jetz z.B. auch im IE die Url die er anscheinend nicht laden
> kann (lt. Fehlermeldung) eingebe, also:
> http://whmxps02:50400/rep/repository/aii_ibrep_client.jar
> dann kann ich die .jar datei auch ohne probleme speichern. es scheint
> da nur probleme im zusammenhang mit dem java web start zu geben...
Dann schau nach, was die Proxy-Einstellungen im IE sind, bei
dem's funktioniert. Übernimm anschließend die Einstellungen
nach Java Web Start. Dazu mußt Du die JWS Console aufmachen,
entweder gibt es da einen Startmenü-Eintrag oder womöglich
geht das auch direkt unter einem Ort wie
C:\Program Files\Java\j2re1.4.2_02\javaws\javaws.exe
Dann kann man dort unter Einstellungen auch was zum
Proxy verkünden. Das steht normalerweise auf "wie Browser",
scheint aber bei Dir nicht zu gehen. Da mußt Du es explizit
eintragen.
Andreas