Hallo
Ich glaube du hast da etwas missverstanden bzw. habe ich mich nicht klar ausgedrückt. Meine Web-Applikation ist in Java implementiert. Die OpenOffice-Bibliothek werden dort benutzt.
java_uno.jar
juh.jar
jurt.jar
ridl.jar
unoloader.jar
unoil.jar
Und der OpenOffice-Service ist nichts weiter als ein normales OpenOffice. Nur dass es mit Parameter, wie von mir beschrieben gestartet wird, damit es im Hintergrund läuft (Unter Windows nennt man das Service). Dieser Service ist allerdings per Netzwerk zugänglich, da man ihn als eine Art OpenOffice-Server starten kann (wiederum durch Parameter).
Folgender Parameter erzeugt eine OpenOffice-Instanz, welches über das Netzwerk mit der OpenOffice-API angesteuert werden kann:
-accept=socket,host=10.22.0.30,port=8100;urp;StarOffice.ServiceManager
Diese Parameter lassen die OpenOffice-Instanz im Hintergrund laufen. Sonst würde man alle Aktionen wie "von Geisterhand ausgeführt" auf dem Server sehen, welche durch eine OpenOffice-API durchgeführt werden würden. Was genau die einzelnen Parameter bedeuten, weiß ich gerade nicht auswendig.
-headless -norestore -display :1.0
Im ganzen sieht der Befehl zum Starten von OpenOffice wie folgt aus (gibt man in die Konsole ein):
soffice -accept=socket,host=10.22.0.30,port=8100;urp;StarOffice.ServiceManager -headless -norestore -display :1.0
Somit habe ich einen Web-Server (für Java-Web-Applicationen auch Application-Server genannt), der auf dem Linux-Server-A läuft und einen OpenOffice-Server (von Aussen ist es ein Server, von der Linux-Maschine-B gesehen ein Service), der auf einem Linux-Server-B läuft. Von meiner Webapplication (also Linux-Server-A) connecte ich nun die OpenOffice-API (für Java, da meine WebApplication in Java geschrieben ist) auf dem OpenOffice-Server (der als Service auf Linux-Server-B gestartet wurde). Somit wird nun alles, was ich mit der OpenOffice-API in meiner WebApplication mache, vom OpenOffice-Server umgesetzt und zurück geliefert. Die OpenOffice-API ist bekanntlich die Schnittstelle von der jeweiligen Programmiersprache und dem OpenOffice.
Sobald ich den OpenOffice-Server vom Linux-Server-B benutzen will (also die IP und den Port des OpenOffice-Servers in meiner WebApplication zum connecten benutze:
Object initialObject = xUnoUrlResolver.resolve("uno:socket,host=10.22.0.30,port=8100;urp;StarOffice.ServiceManager");) bringt meine WebApplication eine Exception. Allerdings tritt diese Exception nicht auf, wenn ich anstatt des OpenOffice-Service auf dem Linux-Server-B, OpenOffice lokal auf meiner Windows-Maschine als Service laufen lasse und meine IP (die der Windows-Maschine) in der WebApplication verwende. Nun ist mein Problem, dass ich nicht weiß, warum dem so ist. Die Exception tritt an der Stelle im Quellcode auf, an der die Appliaction schon mit dem OpenOffice-Server verbunden ist und den InputStream öffnen will.
Nach meiner Interpretation kann der OpenOffice-Server die URL "private:stream" nicht verarbeiten. Also könnte der OpenOffice-Server falsch gestartet wurden sein oder evtl. die Installation auf dem Linux-Server-B korrupt. Evtl. gibt es auch Einstellungen oder Parameter, die ich in meiner WebApplication zum connecten auf einen OpenOffice-Server, der unter Linux läuft, brauche und noch nicht verwende.
Ich hoffe, ich konnte mein Problem ausreichend schildern :-/ Ich weiß, dass es im ganzen keine Standard-Anwendung ist und auf dem ersten Blick etwas verwirrent erscheint. Die Anforderungen an die WebApplication sind nun mal so, dass ich mit allen mir zur Verfügung stehenden Mitteln und einem Großteil der Features der OpenOffice-API arbeiten muss.
Viele Grüße und ein schönes Wochenende

Majo