Question

After implementing a test solution described here :

Use Maven to trigger a wsgen & wsimport in a row, using wsdlLocation

I wonder if there is a way to generate the client jar without knowing the WS URL, so that it would be usable against any similar ws deployed somewhere else.

Any idea?

Was it helpful?

Solution

I wonder if there is a way to generate the client jar without knowing the WS URL, so that it would be usable against any similar ws deployed somewhere else.

Whatever WSDL URI has been used to generate the JAX-WS client artifacts, you can override a service endpoint address from the client code by using the appropriate constructor:

...
URL newEndpoint = new URL("http://new/endpointaddress?wsdl");
QName serviceName = new QName("http://targetNamespaceURI","EchoService"); 

EchoService service = new EchoService(newEndpoint, serviceName);
Echo port = service.getEchoPort();

System.out.println("Server said: " + echo.echo(args[0]));
...

Related question

See also

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top