2010-01-12 21 views

Odpowiedz

12

Można zrobić to na dwa sposoby:

1) Cast port do BindingProvider i określić BindingProvider.ENDPOINT_ADDRESS_PROPERTY własność

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

2) Można zadzwonić do wygenerowanego konstruktora usługa która przyjmuje jako parametr URL WSDL.

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

Możesz zrobić to wszystko z poziomu konstruktora usługi. JAX-WS wygeneruje dla ciebie różne formy konstruktora. Jest to w zasadzie to samo, co zostało wymienione jako rozwiązanie nr 2 w powyższej odpowiedzi Chandry.

Jednak nie sądzę, że chcesz ponownie zakodować przestrzeń nazw i nazwę usługi, tak jak w tej odpowiedzi:. Po prostu wykonaj:

 
URL wsdl = new URL("http://New.Endpoint/service?wsdl"); 
MyService wsService = new MyService(wsdlURL); 
Powiązane problemy