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

Reply via email to