Ho un'implementazione di servizio Web generata utilizzando wsimport da un WSDL. Questo servizio è distribuito in un server Tomcat in una webapp di Spring. Il file di configurazione di primavera (solo la parte webservice) è come questoCome modificare il sapone generato automaticamente: indirizzo da un WSDL Webservice JAX-WS distribuito con Spring
<wss:binding url="/fooService">
<wss:service>
<ws:service bean="#fooService">
</wss:service>
</wss:binding>
Quando schiero questo webapp in Tomcat, posso ottenere il WSDL se vado a
http://localhost:8080/foo/fooService?wsdl
e il sapone wsdl: indirizzo proprietà è così:
<service name="FooService">
<port name="FooService" binding="tns:FooServiceBinding">
<soap:address location="http://localhost:8080/foo/fooService"/>
</port>
</service>
E per ora, va tutto bene.
Il problema è che in produzione, disponiamo di un server Web Apache e questo server reindirizza le richieste a Tomcat. Funziona anche, ma quando otteniamo il WSDL, il soap: address è ancora localhost: 8080 e abbiamo bisogno che questo sia l'url pubblico al webservice.
Qualche idea?
Grazie mille.
favore, può farmi sapere che cosa la vostra primavera xml intestazioni dello schema sono stati in grado di soddisfare la primavera vincolante per la porta e sapone nel frammento di codice qui sopra per registrare l'indirizzo endpoint personalizzato e porto. Ho provato http://jax-ws.dev.java.net/spring/core, servlet e local-transport, ma non vedo nessuno di questi riferimenti. Di conseguenza, ricevo sassofrassozioni. Non riesci a trovare una risposta facile. Grazie in anticipo per qualsiasi assistenza. – arcseldon
doh! ok, stai facendo riferimento al file wsdl qui. mi scuso, sto cercando come sovrascrivere l'indirizzo endpoint in configurazione. – arcseldon