Zugriff auf XML-Resources aus JAXWS-Webservice (WebSphere)

Hallo,

ich versuche gerade, eine bestehenden Anwendung über einen kleinen Wrapper in einer WebSphere-Umgebung zum Laufen zu bringen. Das funktioniert mittlerweile schon halbwegs; leider kommen jetzt die Detailprobleme :wink:

Zur Verarbeitung der Requests braucht die Fachlogik Zugriff auf XML-Dateien. Diese müssen nicht vom Client aus per HTTP abrufbar sein; vielmehr muss der Code, der im Server läuft, die XML-Dateien verarbeiten. Über das Dateisystem würde ich das lieber nicht machen wollen; selbst wenn die Anwendung im WebSphere lesenden Zugriff auf Teile des Dateisystem bekommen kann, führt das doch hässliche Abhängigkeiten ein. Daher würde ich die XML-Resourcen gern irgendwie mit dem Code deployen.

In Java SE könnte man in solchen Fällen ja die XML-Dateien mit in das Jar-File packen und dann mit ClassLoader.getResourceAsStream darauf zugreifen.

Wie schaffe ich es, Nicht-Java-Dateien in das WAR zu integrieren, so dass ich sie dann aus dem Code heraus lesen kann?

Vielen Dank im Voraus,
Murray

Vorsicht bei Classloadern und JEE

früher war das ein echtes Gewürge, könnte aber sein, dass es mittlerweile eine vernünftige Lösung dafür gibt.

Du kannst die XML-Datei direkt in einem Package in deinen Java-Sourcen ablegen. Bsp:

Datei liegt im Package configs und hat den Namen config.xml, dann kannst du mit getClass().getClassLoader().getResourceAsStream("configs/config.xml") auf die Datei zugreifen. Probleme hatte ich (zumindest in der Websphere und dem Glassfish) noch nie. Allerdings empfinde ich das als eine unglückliche Lösung, die ich nur im Notfall verwende.