JAX-WS: XSD in schemaLocation der WSDL verweist auf eine lokale IP

pUre

Mitglied
Hallo Leute,

ich habe ein großes Problem.
Mittels wsgen erzeugt man ja die JAXB-Artefakte welche bei document-style benötigt werden.
Beim Deployen des WS wird dann automatisch die WSDL erzeugt.
Das Problem ist aber, der Link zur XSD in schemaLocation des types-Bereich in der WSDL auf eine lokale IP verweist.
Somit wird beim verwenden des tools wsimport eine Exception geworfen:
[wsimport] [ERROR] Connection timed out: connect
[wsimport] [WARNING] schema_reference.4: Failed to read schema document...

Wenn ich die WSDL manuell runterlade und den Pfad zur XSD in die externe Adresse erweiter, dann werden zwar die Artefakte erstellt aber
beim beim Abschicken eines Requests an den Server bekommt ich wieder einen Timeout.

Lokal funktioniert alles wunderbar. Von daher geh ich davon aus, dass es an der lokalen ip-Adresse für die XSD liegt.

Kann man diese manuell ändern? Per Annotation oder sonst irgendwie?
Wer kann mir helfen... :confused:

Gruß
pure
 
Hallo Tom,

danke erstmal für deine Antwort. URL-Rewrite usw. kenn ich mich gerade nicht aus und weiß auch nicht ob das hier eine "sinnvolle" Lösung ist.
Ich finde es irgendwie unsinnig, warum die aut. generierte WSDL nur die lokale IP des Servers verwendet. Deshalb war meine Frage ja ob man das per Annotation lösen kann. Das Problem ist ja auch, dass ich mit einem Client der sich die Artefakte mit wsimport generiert keine Abfragen an den Endpunkt schicken kann. Ich bekomme immer einen Timeout.

Als Info vielleicht noch: Der Webservice ist auf einem Tomcatserver deployt und nicht auf einem Applicationserver.

Im Anhang mal noch ein Screenshot der Webservicebeschreibung, aufgerufen von einem externen Rechner.

Bitte nochmal um Rat....:confused:
 

Anhänge

  • meinwebservice.PNG
    meinwebservice.PNG
    7 KB · Aufrufe: 109
Hab mich jetzt nochmal schlau gemacht. Die WSDL wird immer abhängig vom Zugriff neu generiert, wenn auf den Webservcie zugegriffen wird.

Den Link habe ich wohl auch übersehen. Hier geht es direkt um einen Tomcat Standalone:
https://metro.dev.java.net/guide/HTTP_address_in_soap_address_and_import_locations.html
Werde mich dem mal genauer annehmen und versuchen anhand der Beschreibung das Problem zu lösen.


Trotzdem schade dass es keine Annotation dafür gibt!


Viele Grüße
pure
 

Neue Beiträge

Zurück