Hi,
Our web services client code which used to work in CXF 2.7.1 is not working
with CXF 3.0.2. Our client is based on Dispatch<DOMSource>. Before making
request we add following map to the dispatch.getRequestContext(), it is
basically builds UserNameToken in webservice request
{ws-security.username=cat,
ws-security.encryption.properties={org.apache.ws.security.crypto.merlin.keystore.password=default,
org.apache.ws.security.crypto.merlin.keystore.type=JKS,
org.apache.ws.security.crypto.merlin.file=/C:/ default-truststore.jks,
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin},
ws-security.password=cat,
ws-security.callback-handler=com.ca.ucf.security.impl.PasswordCallbackHandler@2cc782<mailto:ws-security.callback-handler=com.ca.ucf.security.impl.PasswordCallbackHandler@2cc782>}
When I trace request with CXF 2.7.1, it shows like below ..
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><international
xmlns="http://www.w3.org/2005/09/ws-i18n"><locale>en_US</locale></international><RequestContext
xmlns="http://ns.ca.com/catalyst/node"></RequestContext><Action
xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2010/08/ws-mex/GetMetadata/Request</Action><MessageID
xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:f4d09ed5-390a-417c-b13b-95b817218194</MessageID><To
xmlns="http://www.w3.org/2005/08/addressing">https://hostA:9443/node/wsman/DummyModuleInstance</To><ReplyTo
xmlns="http://www.w3.org/2005/08/addressing"><Address>http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo><Security
xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
soap:mustUnderstand="1"><wsse:UsernameToken
wsu:Id="UsernameToken-1"><wsse:Username>cat</wsse:Username><wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">cat</wsse:Password></wsse:UsernameToken></Security></soap:Header><soap:Body><GetMetadata
xmlns="http://www.w3.org/2010/08/ws-mex"><Dialect
Type="SCHEMA"></Dialect></GetMetadata></soap:Body></soap:Envelope>
Same code in CXF 3.0.2, I don't see UsernameToken is added in request. The
following is the request coming from client based on CXF 3.0.2
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><international
xmlns="http://www.w3.org/2005/09/ws-i18n"><locale>en_US</locale></international><RequestContext
xmlns="http://ns.ca.com/catalyst/node"/><Action
xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2010/08/ws-mex/GetMetadata/Request</Action><MessageID
xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:d133fc8e-1eaa-43af-8193-0fe94fafc412</MessageID><To
xmlns="http://www.w3.org/2005/08/addressing">https://hostA:9443/node/wsman/DummyModuleInstance</To><ReplyTo
xmlns="http://www.w3.org/2005/08/addressing"><Address>http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo></soap:Header><soap:Body><GetMetadata
xmlns="http://www.w3.org/2010/08/ws-mex"><Dialect
Type="SCHEMA"/></GetMetadata></soap:Body></soap:Envelope>
What I am missing? Could you help?
Regards
Raman