[ https://issues.apache.org/jira/browse/CXF-2298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2298. ------------------------------ Resolution: Fixed Fix Version/s: 2.2.3 2.1.6 Assignee: Daniel Kulp > encryptionUser=useReqSigCert fails to find request certificate > -------------------------------------------------------------- > > Key: CXF-2298 > URL: https://issues.apache.org/jira/browse/CXF-2298 > Project: CXF > Issue Type: Bug > Components: WS-* Components > Affects Versions: 2.2.2 > Reporter: Jim Hansen > Assignee: Daniel Kulp > Fix For: 2.1.6, 2.2.3 > > Attachments: application-context.xml, Exception.txt, > FixedWSS4JOutInterceptor.java > > Original Estimate: 10h > Remaining Estimate: 10h > > When setting encryptionUser=useReqSigCert, CXF should locate the request > certificate and use it to encrypt the response. The logic is to retrieve the > RECV_RESULTS from the msgContext, and then retrieve the request certificate > from the RECV_RESULTS. The WSS4JOutInterceptor attempts to retrieve the > RECV_RESULTS by calling WSS4JOutInterceptor.getProperty(msgContext, > WSHandlerConstants.RECV_RESULTS), but getProperty() fails to find the > RECV_RESULTS. The underlying implementation of getProperty() looks in various > places for the RECV_RESULTS, but fails to look in ((Message) > msgContext).getExchange().getInMessage(), where the RECV_RESULTS are actually > located. So the incoming message is located in the Exchange, and it is this > extra level of indirection that seems to be missing from the search for > RECV_RESULTS. I'm not familiar enough with the code to identify the root > cause, but it seems to be an incompatibility between CXF and the underlying > WSS4J implementation (just a guess). > I am attaching three files: > 1) Exception.txt shows the text of the exception that is thrown > 2) application-context.xml is the CXF configuration for the > WSS4JOutInterceptor > 3) FixedWSS4JOutInterceptor.java is a fixed version of the > WSS4JOutInterceptor that retrieves the RCV_RESULTS from the correct location. > This is provided for illustrative purposes only, and is not intended as a fix > - my guess is that the correct fix to this problem is at a lower level in the > code, and I would appreciate it if someone would take this further and > determine the root cause of this problem, and a more appropriate fix. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.