2010-01-12 20 views

Respuesta

12

Puede hacerlo de dos maneras:

1) Reparto port-BindingProvider y especificar BindingProvider.ENDPOINT_ADDRESS_PROPERTY propiedad

MyService service = new MyService(); 
MyPort port = service.... 
BindingProvider bindingProvider = (BindingProvider) port; 
bindingProvider.getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://New.Endpoint/service"); 

2) Puede llamar al constructor de servicio generado que tiene URL WSDL como parámetro.

QName qname = new QName("http://serviceuri/", "service"); 
String wsdl = "http://New.Endpoint/service?wsdl"; 
MyServiec service = new MyServiec(new URL(wsdl), qname); 
MyPort port = check...; 
3

Puede hacerlo todo desde el constructor de su servicio. JAX-WS habrá generado varias formas del constructor para usted. Esto es básicamente lo mismo que lo que se menciona como la solución n. ° 2 en la respuesta anterior de Chandra.

Sin embargo, no creo que desee codificar nuevamente el espacio de nombre y el nombre del servicio como se hace en esa respuesta. Simplemente hazlo:

 
URL wsdl = new URL("http://New.Endpoint/service?wsdl"); 
MyService wsService = new MyService(wsdlURL); 
Cuestiones relacionadas