 <p>You're not specific in terms of libraries you use.</p> <p>For example if you use CXF (Jax-WS in general) you can do the following:</p> <pre><code>// change endpoint URL ((BindingProvider)service).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "new url"); // new username. password will be provided by WS callback ((BindingProvider)service).getRequestContext().put(SecurityConstants.USERNAME, "username"); </code></pre> <p>If you're using Spring for the infrastructure you can autowire all proxies with one statement:</p> <pre><code>@Autowired private Map&lt;String, ServiceInterface&gt; interfaces; </code></pre> <p>If you want to <em>add web services dynamically</em> you have to decide whether this <em>dynamically</em> means <em>at any time</em> or <em>at application startup</em> - this however has nothing to do with web services - it's general programming model of autodiscovery (you can use database, one single remote source of available services, etc.)</p>