Using code that was generated with wsimport, can the service endpoint be overridden without having to regenerate the code?
I have written a simple java
I faced the same issue, and it was terrible coz once the code is moved to production it always looked for the hardcoded WSDL location i.e. Windows C:........etc
I have gone thru various post and pages to find the answer however all was failing then found myself a way by looking at the Service Class generated by JAX-WS imports.
I had to override the JAX-WS WSDL location implementation in my calling class like this.
URL baseUrl;
URL wsdlURL = null;
baseUrl = .class.getResource(".");
try {
wsdlURL = new URL(baseUrl, "http://?wsdl");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
yourServices = new "));
System.out.println(Services.getWSDLDocumentLocation());
YourInterface YourInterfacePort = yourServices.getServicePort();
BindingProvider bindingProvider = (BindingProvider)YourInterfacePort;
bindingProvider.getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url);
YourInterfacePort.methods();