If I call Enpoint.publish(address, implementation) and define a
<jaxws:endpoint> like this:
<jaxws:endpoint name="{http://ws.iona.com/peer_manager}PeerManagerPort"
address="http://localhost:8888/services/PeerManagerService"
wsdlLocation="./wsdl/peer-manager.wsdl"
createdFromAPI="true"
endpointName="ns:PeerManagerPort"
serviceName="ns:PeerManagerService"
xmlns:ns="http://ws.iona.com/peer_manager"/>
the address attribute is not used by the EndpointImpl class. In
EndpointImpl.getServer(), the address is read from the configuration and set on
the endpoint but it is never used. The address from Endpoint.publish(address,
implementation) always over-rides the address in the configuration. This pretty
much makes sense since if you specifically specify an address then that is the
address that should be used as opposed to the address in configuration.
However, it seems to me that if you pass in and empty string or a null value
and the configuration for the <jaxws:endpoint> contains an address attribute,
then that address attribute should be used. Why is this not the case?
Regards,
Seumas