Author: dkulp Date: Wed Aug 1 18:28:16 2012 New Revision: 1368167 URL: http://svn.apache.org/viewvc?rev=1368167&view=rev Log: Merged revisions 1368113 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........ r1368113 | dkulp | 2012-08-01 12:42:34 -0400 (Wed, 01 Aug 2012) | 10 lines Merged revisions 1368101 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/trunk ........ r1368101 | dkulp | 2012-08-01 12:24:20 -0400 (Wed, 01 Aug 2012) | 2 lines [CXF-4450] Evaluate the wsam:Action attributes as well ........ ........ Modified: cxf/branches/2.5.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java Modified: cxf/branches/2.5.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java?rev=1368167&r1=1368166&r2=1368167&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java (original) +++ cxf/branches/2.5.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java Wed Aug 1 18:28:16 2012 @@ -558,7 +558,17 @@ public class STSClient implements Config BindingInfo bi = client.getEndpoint().getBinding().getBindingInfo(); for (BindingOperationInfo boi : bi.getOperations()) { SoapOperationInfo soi = boi.getExtensor(SoapOperationInfo.class); - if (soi != null && soi.getAction() != null && soi.getAction().endsWith(suffix)) { + String soapAction = soi != null ? soi.getAction() : null; + Object o = boi.getOperationInfo().getInput() + .getExtensionAttribute(new QName("http://www.w3.org/2007/05/addressing/metadata", + "Action")); + if (o instanceof QName) { + o = ((QName)o).getLocalPart(); + } + String wsamAction = o == null ? null : o.toString(); + + if ((soapAction != null && soapAction.endsWith(suffix)) + || (wsamAction != null && wsamAction.endsWith(suffix))) { PolicyEngine pe = bus.getExtension(PolicyEngine.class); Conduit conduit = client.getConduit(); EffectivePolicy effectivePolicy = pe.getEffectiveClientRequestPolicy(client.getEndpoint()
