This is most likely a bug in Axis2, Rampart or Neethi. A similar issue has been discussed at [1]. Chances are this is fixed on the latest trunk. May be somebody who understands Rampart/Neethi frameworks better than me can suggest a workaround for Synapse 2.1.
Thanks, Hiranya [1] - http://axis2.867.x6.nabble.com/Policy-not-supported-is-it-a-bug-td4340911.html On Sep 29, 2014, at 6:43 AM, Sean McEligot <[email protected]> wrote: > Sorry, to cross post, but I didn't get a response on stackoverflow and > don't know the best place to get synpase questions answered. Please > let me know if any additional information would help. > > http://stackoverflow.com/questions/26059411/synapse-transporttoken-is-not-a-wsppolicy-element > > I'm upgrading a project from synapse 1.1.1 to synapse 2.1. I get the > following error if I remove TransportToken, the next element will give > the same "is not a Policy element" error. I need a custom password > callback in order to authenticate the user from the database. > > 13:05:26 | java.lang.IllegalArgumentException: > {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}TransportToken > is not a <wsp:Policy> element. > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:177) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:125) > 13:05:26 | at > org.apache.neethi.PolicyEngine.getPolicy(PolicyEngine.java:102) > 13:05:26 | at > org.apache.ws.secpolicy11.builders.TransportBindingBuilder.build(TransportBindingBuilder.java:42) > 13:05:26 | at > org.apache.ws.secpolicy11.builders.TransportBindingBuilder.build(TransportBindingBuilder.java:37) > 13:05:26 | at > org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:129) > 13:05:26 | at > org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:110) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:225) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:185) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:218) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getExactlyOneOperator(PolicyBuilder.java:181) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:216) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:175) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:114) > 13:05:26 | at > org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:100) > 13:05:26 | at > org.apache.neethi.PolicyEngine.getPolicy(PolicyEngine.java:80) > 13:05:26 | at > org.apache.synapse.core.axis2.ProxyService.getPolicyFromKey(ProxyService.java:679) > 13:05:26 | at > org.apache.synapse.core.axis2.ProxyService.buildAxisService(ProxyService.java:491) > 13:05:26 | at > org.apache.synapse.Axis2SynapseController.deployProxyServices(Axis2SynapseController.java:695) > 13:05:26 | at > org.apache.synapse.Axis2SynapseController.createSynapseEnvironment(Axis2SynapseController.java:400) > 13:05:26 | at > org.apache.synapse.ServerManager.start(ServerManager.java:181) > 13:05:26 | at org.apache.synapse.SynapseServer.main(SynapseServer.java:68) > > <wsp:Policy wsu:Id="UTOverTransport" > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-u > <wsp:ExactlyOne> > <wsp:All> > <sp:TransportBinding > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:TransportToken> > <wsp:Policy> > <sp:HttpsToken RequireClientCertificate="false"/> > </wsp:Policy> > </sp:TransportToken> > <sp:AlgorithmSuite> > <wsp:Policy> > <sp:Basic256/> > </wsp:Policy> > </sp:AlgorithmSuite> > <sp:Layout> > <wsp:Policy> > <sp:Lax/> > </wsp:Policy> > </sp:Layout> > <sp:IncludeTimestamp/> > </wsp:Policy> > </sp:TransportBinding> > <sp:SignedSupportingTokens > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:UsernameToken > sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysT > </wsp:Policy> > </sp:SignedSupportingTokens> > <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> > <ramp:passwordCallbackClass>my.PWCBHandler</ramp:passwordCallbackClass> > </ramp:RampartConfig> > </wsp:All> > </wsp:ExactlyOne> > </wsp:Policy> -- Hiranya Jayathilaka Mayhem Lab/RACE Lab; Dept. of Computer Science, UCSB; http://cs.ucsb.edu E-mail: [email protected]; Mobile: +1 (805) 895-7443 Blog: http://techfeast-hiranya.blogspot.com
