Hi,
I am keep debugging but not getting clue about issue. Could you
give me any hint?. How can I trace where these header elements are dropped?
Basically, my client code is adding username and password like below.
dispatch.getRequestContext().put("ws-security.username", "cat");
dispatch.getRequestContext().put("ws-security.password", "cat");
Regards
Raman
From: Malisetti, Ramanjaneyulu
Sent: Saturday, October 25, 2014 9:24 AM
To: [email protected]
Subject: wsse:UsernameToken in request header - change from 2.7.1 to 3.0.2
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<http://www.w3.org/2010/08/ws-mex/GetMetadata/Request%3c/Action%3e%3cMessageID>
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<https://hostA:9443/node/wsman/DummyModuleInstance%3c/To%3e%3cReplyTo>
xmlns="http://www.w3.org/2005/08/addressing"><Address>http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo><Security<http://www.w3.org/2005/08/addressing/anonymous%3c/Address%3e%3c/ReplyTo%3e%3cSecurity>
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<http://www.w3.org/2010/08/ws-mex/GetMetadata/Request%3c/Action%3e%3cMessageID>
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<https://hostA:9443/node/wsman/DummyModuleInstance%3c/To%3e%3cReplyTo>
xmlns="http://www.w3.org/2005/08/addressing"><Address>http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo></soap:Header><soap:Body><GetMetadata<http://www.w3.org/2005/08/addressing/anonymous%3c/Address%3e%3c/ReplyTo%3e%3c/soap:Header%3e%3csoap:Body%3e%3cGetMetadata>
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