Probleme mit lokalen WSDL-Pfaden nach einem deploy

Heute mal wieder 2h in ein tolles Problem vom Typ “Also DA wär ich ja nie drauf gekommen” investiert: Nach einem deploy meiner kleinen Testapplikation springt mich der Tomcat mit einer FileNotFound-Exception an. Er könne die Datei /Users/<benutzer>/Netbeans/<Projekt>/Shopping.wsdl nicht finden und dementsprechend auch keinen Client dafür generieren. Nun ist es natürlich klar dass er da (auf dem Server) natürlich nichts findet, schließlich bezieht sich der Pfad auf die lokale Kopie der WSDL auf meinem Notebook. Wie aber teilt an seiner Applikation mit, dass sie sich doch direkt das Original aus dem Web laden soll, statt auf eine nicht existente lokale Kopie zu verlassen?

Nach einem Googlen bin ich folgenden Blog-Eintrag von Vivek Pandey gestoßen, der eine passende Lösung parat hat. Mir geholfen hat der Tipp, eine lokale “Katalogdatei” für JAX-WS anzulegen unter “META-INF/jax-ws-catalog.xml”, Inhalt der folgende:

<catalog xmlns=”urn:oasis:names:tc:entity:xmlns:xml:catalog” prefer=”system”>
<system systemId=”http://131.107.72.15/MTOM_Service_Indigo/Soap11MtomUtf8.svc?wsdl”
uri=”Soap11MtomUtf8.svc.xml”/>
</catalog>

Das wars. Wichtig in dem Zusammenhang: “systemId” zeigt logischer Weise auf die remote-URL der WSDL, die “uri” ist der lokale Pfad AUSGEHEND VON jax-ws-catalog.xml! In der Regel sollte dies also etwa wie folgt aussehen: uri=”../wsdl/client/myservice/path.to.myservice/Myservice.wsdl”.

Kommentar hinzufügen 21.07.2008

Einen Kommentar hinterlassen

Pflicht

Required, versteckt

Erlaubte Tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback zu diesem Artikel  |  Diese Kommentare als RSS


    Kalender

    September 2010
    M T W T F S S
    « Jan    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  

    Feeds

    Meta: