Hi,

It is complaining about not finding a CallbackHandler on the service side.
I can't see anything wrong with the configuration. Could you create a
test-project so that I can take a look?

Colm.


On Wed, Jul 10, 2013 at 6:58 PM, tulika <[email protected]> wrote:

> Hi Colm,
>
> Please find the log below(at the end).
> I have password callbacks at both client and web service server side as
> explained in the tutorial.
> Can you please tell me, whether it is complaining about callback handler
> not
> present at the client side or at the server side... also, it s complaining
> about callback handler for username token?
>
> My setup details :
> I set up http ssl with basic authentication as per tutorial
> (http://www.jroller.com/gmazza/entry/ssl_for_web_services) on basic
> doubleIt
> web service and then added ws-security as per
> (http://www.jroller.com/gmazza/entry/cxf_usernametoken_profile).
>
> For adding ws security I used Netbeans as explained in
> (http://www.jroller.com/gmazza/entry/metro_usernametoken_profile#MetroUT1
> ),
> but I didn't add "ValidatorConfiguration" element in wsdl or
> PlainTestPasswordValidator in CXF server(because the code present in this
> class is specific to metro library). However I have http basic
> authentication enabled on my web service.. So, could this be the cause of
> this issue?? How can I provide usernameValidator in cxf?
>
> <text from doubleit.wsdl having ws-security)
>   <sc:ValidatorConfiguration wspp:visibility="private">
>                <sc:Validator name="usernameValidator"
> classname="service.PlainTextPasswordValidator"/>
>   </sc:ValidatorConfiguration>
>
> Thanks,
> Tulika
>
>
>
> Please find the log below:
>
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
> <soap:Header>
> <Action
> xmlns="http://www.w3.org/2005/08/addressing";>
> http://www.example.org/contract/DoubleIt/DoubleItPortType/DoubleItRequest
> </Action>
> <MessageID
> xmlns="http://www.w3.org/2005/08/addressing
> ">urn:uuid:3798aef3-027a-438f-b746-446633944a65</MessageID>
> <To
> xmlns="http://www.w3.org/2005/08/addressing";>
> https://localhost:8443/CXFWebService/services/DoubleItPort</To>
> <ReplyTo xmlns="http://www.w3.org/2005/08/addressing";>
> <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
> </ReplyTo>
> <wsse:Security
> 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">
> <wsu:Timestamp wsu:Id="TS-1">
> <wsu:Created>2013-07-10T09:16:56.277Z</wsu:Created>
> <wsu:Expires>2013-07-10T09:21:56.277Z</wsu:Expires>
> </wsu:Timestamp>
> <wsse:UsernameToken wsu:Id="UsernameToken-2">
> <wsse:Username>bob</wsse:Username>
> <wsse:Password
> Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">trombone</wsse:Password>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <ns2:DoubleIt
> xmlns:ns2="http://www.example.org/schema/DoubleIt
> "><numberToDouble>7</numberToDouble></ns2:DoubleIt>
> </soap:Body>
> </soap:Envelope>
> --------------------------------------
> Jul 10, 2013 2:46:56 PM org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor
> handleMessage
> WARNING:
> org.apache.ws.security.WSSecurityException: General security error
> (WSSecurityEngine: No password callback supplied)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.verifyDigestPassword(UsernameTokenValidator.java:155)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.verifyPlaintextPassword(UsernameTokenValidator.java:142)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.validate(UsernameTokenValidator.java:100)
>         at
>
> org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:172)
>         at
>
> org.apache.ws.security.processor.UsernameTokenProcessor.handleToken(UsernameTokenProcessor.java:67)
>         at
>
> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)
>         at
>
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:277)
>         at
>
> org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.handleMessage(PolicyBasedWSS4JInInterceptor.java:120)
>         at
>
> org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.handleMessage(PolicyBasedWSS4JInInterceptor.java:105)
>         at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
>         at
>
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>         at
>
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237)
>         at
>
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:214)
>         at
>
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:194)
>         at
>
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:130)
>         at
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:225)
>         at
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:145)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>         at
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:201)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
>         at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
>         at
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:576)
>         at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
>         at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
>         at
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
>         at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
>         at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
>         at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> Jul 10, 2013 2:46:56 PM org.apache.cxf.phase.PhaseInterceptorChain
> doDefaultLogging
> WARNING: Interceptor for
> {http://www.example.org/contract/DoubleIt}DoubleItService has thrown
> exception, unwinding now
> org.apache.cxf.binding.soap.SoapFault: General security error
> (WSSecurityEngine: No password callback supplied)
>         at
>
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.createSoapFault(WSS4JInInterceptor.java:767)
>         at
>
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:334)
>         at
>
> org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.handleMessage(PolicyBasedWSS4JInInterceptor.java:120)
>         at
>
> org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.handleMessage(PolicyBasedWSS4JInInterceptor.java:105)
>         at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
>         at
>
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>         at
>
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237)
>         at
>
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:214)
>         at
>
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:194)
>         at
>
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:130)
>         at
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:225)
>         at
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:145)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>         at
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:201)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
>         at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
>         at
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:576)
>         at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
>         at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
>         at
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
>         at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
>         at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
>         at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.ws.security.WSSecurityException: General security
> error (WSSecurityEngine: No password callback supplied)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.verifyDigestPassword(UsernameTokenValidator.java:155)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.verifyPlaintextPassword(UsernameTokenValidator.java:142)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.validate(UsernameTokenValidator.java:100)
>         at
>
> org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:172)
>         at
>
> org.apache.ws.security.processor.UsernameTokenProcessor.handleToken(UsernameTokenProcessor.java:67)
>         at
>
> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)
>         at
>
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:277)
>         ... 29 more
> Jul 10, 2013 2:46:56 PM
> org.apache.cxf.services.DoubleItService.DoubleItPort.DoubleItPortType
> INFO: Outbound Message
> ---------------------------
> ID: 4
> Response-Code: 500
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
> "><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>General
> security error (WSSecurityEngine: No password callback
> supplied)</faultstring></soap:Fault></soap:Body></soap:Envelope>
> --------------------------------------
> Jul 10, 2013 2:50:41 PM
> org.apache.cxf.services.DoubleItService.DoubleItPort.DoubleItPortType
> INFO: Inbound Message
> ----------------------------
> ID: 5
> Address: https://localhost:8443/CXFWebService/services/DoubleItPort?wsdl
> Http-Method: GET
> Content-Type: text/xml
> Headers: {Accept=[*/*], Authorization=[Basic Ym9iOnRyb21ib25l],
> cache-control=[no-cache], connection=[keep-alive], content-type=[text/xml],
> host=[localhost:8443], pragma=[no-cache], user-agent=[Apache CXF 2.6.8]}
> --------------------------------------
> Jul 10, 2013 2:50:51 PM
> org.apache.cxf.services.DoubleItService.DoubleItPort.DoubleItPortType
> INFO: Inbound Message
> ----------------------------
> ID: 6
> Address: https://localhost:8443/CXFWebService/services/DoubleItPort
> Encoding: UTF-8
> Http-Method: POST
> Content-Type: text/xml; charset=UTF-8
> Headers: {Accept=[*/*], Authorization=[Basic Ym9iOnRyb21ib25l],
> cache-control=[no-cache], connection=[keep-alive], Content-Length=[1373],
> content-type=[text/xml; charset=UTF-8], host=[localhost:8443],
> pragma=[no-cache], SOAPAction=[""], user-agent=[Apache CXF 2.6.8]}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
> "><soap:Header><Action
> xmlns="http://www.w3.org/2005/08/addressing";>
> http://www.example.org/contract/DoubleIt/DoubleItPortType/DoubleItRequest
> </Action><MessageID
> xmlns="http://www.w3.org/2005/08/addressing
> ">urn:uuid:525b8206-fa5f-4da5-84f9-82efe8bc128a</MessageID><To
> xmlns="http://www.w3.org/2005/08/addressing";>
> https://localhost:8443/CXFWebService/services/DoubleItPort</To><ReplyTo
> xmlns="http://www.w3.org/2005/08/addressing";><Address>
> http://www.w3.org/2005/08/addressing/anonymous
> </Address></ReplyTo><wsse:Security
> 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"><wsu:Timestamp
>
> wsu:Id="TS-1"><wsu:Created>2013-07-10T09:20:51.293Z</wsu:Created><wsu:Expires>2013-07-10T09:25:51.293Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken
> wsu:Id="UsernameToken-2"><wsse:Username>bob</wsse:Username><wsse:Password
> Type="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
> ">trombone</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><ns2:DoubleIt
> xmlns:ns2="http://www.example.org/schema/DoubleIt
> "><numberToDouble>7</numberToDouble></ns2:DoubleIt></soap:Body></soap:Envelope>
> --------------------------------------
> Jul 10, 2013 2:50:51 PM org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor
> handleMessage
> WARNING:
> org.apache.ws.security.WSSecurityException: General security error
> (WSSecurityEngine: No password callback supplied)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.verifyDigestPassword(UsernameTokenValidator.java:155)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.verifyPlaintextPassword(UsernameTokenValidator.java:142)
>         at
>
> org.apache.ws.security.validate.UsernameTokenValidator.validate(UsernameTokenValidator.java:100)
>
>
>
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/UserName-token-security-on-CXF-General-security-error-WSSecurityEngine-No-password-callback-supplied-tp5730451p5730571.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>



-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to