Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

tESBConsumer org.apache.cxf.ws.policy.PolicyException

I have a simple job that is set up to query a SOAP service and read in the results using the tESBConsumer component. (Screenshot below.) However, upon running the job, I get the following Java exception:

 

Exception in component tESBConsumer_1 (test_material_query)

org.apache.cxf.ws.policy.PolicyException: None of the policy alternatives can be satisfied.

at org.apache.cxf.ws.policy.EndpointPolicyImpl.chooseAlternative(EndpointPolicyImpl.java:172)

at org.apache.cxf.ws.policy.EndpointPolicyImpl.finalizeConfig(EndpointPolicyImpl.java:146)

at org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:142)

at org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:604)

at org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:316)

at org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:303)

at org.apache.cxf.ws.policy.PolicyDataEngineImpl.getClientEndpointPolicy(PolicyDataEngineImpl.java:61)

at org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:326)

at org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:346)

at org.apache.cxf.transport.http.HTTPConduit.getClient(HTTPConduit.java:894)

at org.apache.cxf.transport.http.HTTPConduit.configureConduitFromEndpointInfo(HTTPConduit.java:368)

at org.apache.cxf.transport.http.HTTPConduit.finalizeConfig(HTTPConduit.java:448)

at org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTransportFactory.java:249)

at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:226)

at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:233)

at org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(AbstractConduitSelector.java:146)

at org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:108)

at org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduitSelector.java:77)

at org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:879)

at infohub.test_material_query_0_1.test_material_query$GenericConsumer.invoke(test_material_query.java:639)

at infohub.test_material_query_0_1.test_material_query.tFixedFlowInput_1Process(test_material_query.java:2035)

at infohub.test_material_query_0_1.test_material_query.runJobInTOS(test_material_query.java:2860)

at infohub.test_material_query_0_1.test_material_query.main(test_material_query.java:2709)

 

0683p000009Lz7r.jpg

I'm able to use tESBConsumer with SOAP services that do not use authentication, so I'm wondering if the SOAP service I am trying to call does not handle org.apache.cxf.ws.policy authentication correctly. Unfortunately, I do not have access to the log files of the service endpoint.

 

I'm using a local WSDL file in the tESBConsumer "WSDL: " settings in the pop-up menu (Screenshot below). I am using a local WSDL file because I cannot find an active WSDL URL to work with on the server side. System documentation is extremely opaque.

 

0683p000009LypF.jpg

 

Details of my environment:

OS X: 10.11.6 (15G21013)

Talend Open Studio for ESB: 7.0.1

Java: jdk1.8.0_101

 

Has anyone seen a similar error with tESBConsumer? Any insights are welcome.

 

Labels (4)
2 Replies
Anonymous
Not applicable
Author

Hello,

Have you tried to use twebservice component to see if it works? Are you using tESBConsumer with 'Use Authentication' and 'Username Token' as the option?

Best regards

Sabrina

 

Anonymous
Not applicable
Author

Hello,

 

 

For the 'Use Authentication' I tried 'Username Token' as the option and still get the "

org.apache.cxf.ws.policy.PolicyException: None of the policy alternatives can be satisfied" exception.

 

I tried the tWebService component (thank you for the suggestion) and I get the following error:

 

 

Exception in component tWebService_1 (test_material_query)
java.lang.IllegalStateException: Response message did not contain proper response data. Expected: {http://sap.com/xi/SAPGlobal20/Global}MaterialByElementsResponse_sync
	at org.apache.cxf.endpoint.ClientImpl.processResult(ClientImpl.java:664)
	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:542)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:442)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:343)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:316)
	at org.talend.webservice.helper.ServiceInvokerHelper.invoke(ServiceInvokerHelper.java:199)
	at org.talend.webservice.helper.ServiceInvokerHelper.invoke(ServiceInvokerHelper.java:238)
	at infohub.test_material_query_0_1.test_material_query.tWebService_1Process(test_material_query.java:430)
	at infohub.test_material_query_0_1.test_material_query.runJobInTOS(test_material_query.java:705)
	at infohub.test_material_query_0_1.test_material_query.main(test_material_query.java:554)

The WSDL namespace I am referencing has a pointer to 

http://sap.com/xi/SAPGlobal20/Global which appears to not be online. I'm wondering if that is the root cause.