Return-Path: Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: (qmail 46579 invoked from network); 22 Dec 2010 09:48:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 22 Dec 2010 09:48:26 -0000 Received: (qmail 3392 invoked by uid 500); 22 Dec 2010 09:48:26 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 3377 invoked by uid 500); 22 Dec 2010 09:48:26 -0000 Mailing-List: contact issues-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list issues@cxf.apache.org Received: (qmail 3369 invoked by uid 99); 22 Dec 2010 09:48:26 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Dec 2010 09:48:26 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Dec 2010 09:48:23 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id oBM9m19s010154 for ; Wed, 22 Dec 2010 09:48:01 GMT Message-ID: <33460685.263211293011281292.JavaMail.jira@thor> Date: Wed, 22 Dec 2010 04:48:01 -0500 (EST) From: "Colm O hEigeartaigh (JIRA)" To: issues@cxf.apache.org Subject: [jira] Assigned: (CXF-3156) Have web service client cache SAML tokens used in SOAP calls In-Reply-To: <22814137.9411291062551192.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CXF-3156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Colm O hEigeartaigh reassigned CXF-3156: ---------------------------------------- Assignee: Colm O hEigeartaigh > Have web service client cache SAML tokens used in SOAP calls > ------------------------------------------------------------ > > Key: CXF-3156 > URL: https://issues.apache.org/jira/browse/CXF-3156 > Project: CXF > Issue Type: Wish > Reporter: Glen Mazza > Assignee: Colm O hEigeartaigh > Attachments: 20101129DoubleItMetroWSTrust.zip > > > Metro web service providers (and perhaps others) return references to SAML Tokens provided by the client during the SOAP call, but do not return the tokens themselves (nor is apparent that they should.) Presently Metro clients but not CXF clients can process these responses. A CXF client attempting to process a Metro response (sample one here[1]) returns this error, saying it cannot find the token: > [INFO] Nov 29, 2010 3:14:33 PM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL > [INFO] INFO: Creating Service {http://www.example.org/contract/DoubleIt}DoubleItService from WSDL: file:/media/NewDriveExt3/soperawork/DoubleItMetroWSTrust/client-cxf/src/main/resources/DoubleItService.wsdl > [INFO] Nov 29, 2010 3:14:34 PM org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl build > [INFO] WARNING: No assertion builder for type {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}RequireInternalReference registered. > [INFO] Nov 29, 2010 3:14:35 PM org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor handleMessage > [INFO] WARNING: > [INFO] org.apache.ws.security.WSSecurityException: Referenced security token could not be retrieved (Reference "#uuid-88b8189f-9616-48f4-9ea8-ac2b7703baed") > [INFO] at org.apache.ws.security.message.token.SecurityTokenReference.getKeyIdentifierTokenElement(SecurityTokenReference.java:200) > [INFO] at org.apache.ws.security.processor.ReferenceListProcessor.getKeyFromSecurityTokenReference(ReferenceListProcessor.java:356) > [INFO] at org.apache.ws.security.processor.ReferenceListProcessor.decryptDataRefEmbedded(ReferenceListProcessor.java:162) > [INFO] at org.apache.ws.security.processor.ReferenceListProcessor.handleReferenceList(ReferenceListProcessor.java:113) > [INFO] at org.apache.ws.security.processor.ReferenceListProcessor.handleToken(ReferenceListProcessor.java:76) > [INFO] at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:328) > [INFO] at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:245) > [INFO] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:208) > [INFO] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:78) > [INFO] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) > [INFO] at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:733) > [INFO] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2201) > [INFO] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2071) > [INFO] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1925) > [INFO] at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) > [INFO] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:662) > [INFO] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > [INFO] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) > [INFO] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) > [INFO] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) > [INFO] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) > [INFO] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > [INFO] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) > [INFO] at $Proxy24.doubleIt(Unknown Source) > [INFO] at client.WSClient.doubleIt(WSClient.java:17) > [INFO] at client.WSClient.main(WSClient.java:11) > [INFO] Nov 29, 2010 3:14:35 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging > [INFO] WARNING: Interceptor for {http://www.example.org/contract/DoubleIt}DoubleItService#{http://www.example.org/contract/DoubleIt}DoubleIt has thrown exception, unwinding now > [INFO] org.apache.cxf.binding.soap.SoapFault: Referenced security token could not be retrieved (Reference "#uuid-88b8189f-9616-48f4-9ea8-ac2b7703baed") > [INFO] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.createSoapFault(WSS4JInInterceptor.java:597) > [INFO] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:268) > [INFO] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:78) > [INFO] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) > [INFO] at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:733) > [INFO] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2201) > [INFO] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2071) > [INFO] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1925) > [INFO] at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) > [INFO] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:662) > [INFO] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > [INFO] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) > [INFO] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) > [INFO] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) > [INFO] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) > [INFO] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > [INFO] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) > [INFO] at $Proxy24.doubleIt(Unknown Source) > [INFO] at client.WSClient.doubleIt(WSClient.java:17) > [INFO] at client.WSClient.main(WSClient.java:11) > Part of the problem MAY be that Metro prefixes the Assertion key with a "#" indicating the token is within the message body. A bug report has been sent to them on this issue[2], however I believe CXF would presently fail even if the "#" was not there, as the client-side storage/retrieval of SAML tokens is not yet in place. > [1] https://issues.apache.org/jira/secure/attachment/12460040/WSS238Results.txt > [2] http://java.net/jira/browse/WSIT-1490 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.