Wie kann ich das ändern das automatisch generierte soap:address aus einem JAX-WS-webservice-WSDL bereitgestellt, mit Feder

Ich habe eine webservice-Implementierung generiert mit wsimport aus einer WSDL. Dieser service wird bereitgestellt in einem Tomcat-server in einer Spring webapp. Der spring-Konfigurationsdatei (nur der webservice-Teil) ist wie folgt

<wss:binding url="/fooService">
    <wss:service>
        <ws:service bean="#fooService">
    </wss:service>
</wss:binding>

Wenn ich die Bereitstellung dieses webapp in tomcat, ich kann die WSDL-wenn ich mich

http://localhost:8080/foo/fooService?wsdl 

und die wsdl soap:address-Eigenschaft ist wie folgt:

<service name="FooService">
    <port name="FooService" binding="tns:FooServiceBinding">
        <soap:address location="http://localhost:8080/foo/fooService"/>
    </port>
</service>

Und für jetzt, es ist alles ok.

Das problem ist, dass in der Produktion haben wir einen Apache-web-server, und dieser server leitet die Anfragen an Tomcat. Es funktioniert auch, aber wenn wir die WSDL, soap:Adresse ist noch localhost:8080 und wir brauchen dazu die öffentliche url zum webservice.

Irgendwelche Ideen?

Danke Ihnen sehr.

  • bitte lassen Sie mich wissen, was Ihr xml-spring-schema-Header wurden, um spring-Bindung für port und Seife in deinem code-Ausschnitt zum registrieren von benutzerdefinierten Endpunkt-Adresse und port. Ich habe versucht, jax-ws.dev.java.net/spring/core, servlet-und Nahverkehr haben, sehe aber keiner von Ihnen referenzieren. Als Ergebnis bekomme ich saxparserexceptions. Nicht finden können, eine einfache Antwort. Vielen Dank im Voraus für jegliche Hilfe.
  • doh! ok, Sie verweisen wsdl-Datei hier. Entschuldigung, bin auf der Suche nach gewusst wie: überschreiben der endpoint-Adresse in der config.
InformationsquelleAutor drublik | 2012-11-27
Schreibe einen Kommentar