Comment puis-je changer le générés automatiquement soap:address à partir d'un JAX-WS web service WSDL déployé avec le Printemps

J'ai un webservice mise en œuvre générés à l'aide de wsimport à partir d'un WSDL. Ce service est déployé dans un serveur Tomcat, au Printemps de webapp. Le printemps du fichier de configuration (uniquement le webservice partie), c'est comme cela

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

Quand je le déploiement de cette webapp dans tomcat, je peux obtenir le WSDL si je vais à

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

et le wsdl soap:adresse de la propriété, c'est comme cela:

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

Et pour l'instant, tout est ok.

Le problème est que dans la production, nous avons un serveur web Apache et ce serveur redirige la demande pour Tomcat. Il travaille trop, mais quand nous arrivons à l'WSDL, soap:address est toujours localhost:8080 et nous avons besoin de cela pour être le public de l'url du webservice.

Des idées?

Merci beaucoup.

veuillez me laisser savoir ce que votre xml printemps schéma en-têtes ont été dans le but de satisfaire printemps de liaison pour le port et le savon dans votre extrait de code ci-dessus pour vous inscrire personnalisé adresse de point de terminaison et le port. J'ai essayé jax-ws.dev.java.net/spring/core, servlet et locales de transport, mais n'en voir aucun d'entre eux font référence à ces. En conséquence, je reçois saxparserexceptions. Impossible de trouver une réponse facile. Merci d'avance pour toute aide.
doh! ok, vous êtes le référencement du fichier wsdl ici. toutes mes excuses, je cherche comment remplacer l'adresse de point de terminaison dans la configuration.

OriginalL'auteur drublik | 2012-11-27