I'm trying to use the Spring jaxws:client configuration to put as much of the
setup for my Dispatch API client into Spring as possible, but it seems to be
ignoring it.
The following is the code I'm using to setup the dispatch client:
URL wsdlURL = new
URL("file:/home/jpangburn/Desktop/IHE/XDSb.Support.Materials.v9/wsdl/XDS.b_DocumentRegistry.wsdl");
Service service = Service.create(wsdlURL, new QName("urn:ihe:iti:xds-b:2007",
"DocumentRegistry_Service"));
Dispatch<StaxSource> disp = service.createDispatch(new
QName("urn:ihe:iti:xds-b:2007", "DocumentRegistry_Port_Soap12"),
StaxSource.class, Service.Mode.PAYLOAD);
So the port is "{urn:ihe:iti:xds-b:2007}DocumentRegistry_Port_Soap12". In my
Spring configuration I've tried this:
<jaxws:client id="registryClient"
name="{urn:ihe:iti:xds-b:2007}DocumentRegistry_Port_Soap12"
address="http://localhost:30320/tf6/services/xdsregistryb"
xmlns:ihe="urn:ihe:iti:xds-b:2007"
endpointName="ihe:DocumentRegistry_Port_Soap12"
serviceName="ihe:DocumentRegistry_Service"
createdFromAPI="true">
<jaxws:features>
<wsa:addressing
xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
</jaxws:features>
</jaxws:client>
At first I hoped the "name" attribute would cause the matching at it would pick
up my "address" attribute to set the destination address and my wsa:addressing
feature to enable ws-addressing. It did not, just sent to the same url defined
in the WSDL. So I added the endpointName and serviceName attributes, which
also didn't help. Then I added "createdFromAPI" which didn't do anything
either.
I know the Spring configuration is working to some degree because if I put in a
http:conduit that works just fine:
<http:conduit
name="{urn:ihe:iti:xds-b:2007}DocumentRegistry_Port_Soap12.http-conduit">
<http:tlsClientParameters disableCNCheck="true">
...
Is jaxws:client configuration just not related to the Dispatch API at all? If
so, why not? This seems like it would be a nice way to setup address
overrides, turn on/off jaxws:features, logging, interceptors, etc. for the
Dispatch API.
Thanks,
Jesse