Hi all,
I have a client I've built for a service that implements a WSDL file containing
a WS-SecurityPolicy that CXF can't read because it's got errors. I don't have
control over the WSDL file, but I know how to construct a message that can be
read successfully by the service (I've done it with SoapUI and have built in
and outinterceptors that perform the required signing and
encryption/decryption). Is there a way to prevent the WS-SecurityPolicy logic
from executing? The stack trace I've received is posted below for reference.
Thanks
Jen
java.lang.IllegalArgumentException:
{http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}UsernameToken is not a
<wsp:Policy> element.
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:176)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:124)
at
org.apache.cxf.ws.security.policy.builders.SupportingTokensBuilder.build(SupportingTokensBuilder.java:80)
at
org.apache.cxf.ws.security.policy.builders.SupportingTokensBuilder.build(SupportingTokensBuilder.java:44)
at
org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:138)
at
org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:117)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:224)
at
org.apache.neethi.PolicyBuilder.getAllOperator(PolicyBuilder.java:184)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:217)
at
org.apache.neethi.PolicyBuilder.getExactlyOneOperator(PolicyBuilder.java:180)
at
org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:215)
at
org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:174)
at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:124)
at
org.apache.cxf.ws.policy.attachment.reference.LocalServiceModelReferenceResolver.resolveReference(LocalServiceModelReferenceResolver.java:53)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.resolveLocal(Wsdl11AttachmentPolicyProvider.java:292)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.resolveReference(Wsdl11AttachmentPolicyProvider.java:272)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getElementPolicy(Wsdl11AttachmentPolicyProvider.java:220)
at
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider.getEffectivePolicy(Wsdl11AttachmentPolicyProvider.java:136)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedMessagePolicy(PolicyEngineImpl.java:444)
at
org.apache.cxf.ws.policy.EffectivePolicyImpl.initialisePolicy(EffectivePolicyImpl.java:168)
at
org.apache.cxf.ws.policy.EffectivePolicyImpl.initialise(EffectivePolicyImpl.java:91)
at
org.apache.cxf.ws.policy.PolicyEngineImpl.getEffectiveClientRequestPolicy(PolicyEngineImpl.java:200)
at
org.apache.cxf.ws.policy.PolicyOutInterceptor.handle(PolicyOutInterceptor.java:98)
at
org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:44)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)
at com.sun.proxy.$Proxy33.list(Unknown Source)
at
ca.ontario.health.edt.EDTDelegate_EDTPort_Client.main(EDTDelegate_EDTPort_Client.java:166)