Dear Team,

We are trying to consume a web service hosted in Weblogic server using the CXF 
client connector in Mule, but getting the following error.

"None of the policy alternatives can be satisfied.. Failed to route event via 
endpoint: org.mule.module.cxf.CxfOutboundMessageProcessor".

It seems that the following BEA Weblogic policy is not supported by CXF.
<wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy";>

If we remove the cxf-rt-ws-policy-2.7.15.jar, then it works as 
org.apache.cxf.ws.policy.PolicyOutInterceptor interceptor is not get registered.

How this issue would be approached?

CXF Version: 2.7.15

WSDL:
<flow name="get:/academicCalendars:vuc-api-config">
<message-properties-transformer
doc:name="Message Properties">
<add-message-property key="operation"
value="getAllAcadCalendars" />
</message-properties-transformer>
<set-payload value="#[new Object[]{}]" doc:name="Set Payload"></set-payload>
<flow-ref name="calendar" doc:name="calendar" />
</flow>

<sub-flow name="calendar">
<cxf:jaxws-client
clientClass="au.edu.vu.its.as.ws.callista.vucalendarws.VuCalendarWS_Service"
wsdlLocation="${ws.callista.calendar.url}?WSDL" port="VuCalendarWSSoapHttpPort"
doc:name="SOAP">
<cxf:inInterceptors>
<spring:bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
</cxf:inInterceptors>
<cxf:outInterceptors>
<spring:bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
<spring:bean parent="wss4jOutInterceptor" />
</cxf:outInterceptors>
</cxf:jaxws-client>
<outbound-endpoint doc:name="HTTP"
address="http://devsdvd.vu.edu.au:9990/VuCalendar/VuCalendarWSSoapHttpPort"; />
</sub-flow>

<spring:bean id="wss4jOutConfiguration"
class="org.springframework.beans.factory.config.MapFactoryBean">
<spring:property name="sourceMap">
<spring:map>
<spring:entry key="action" value="UsernameToken" />
<spring:entry key="user" value="${ws.callista.user}" />
<spring:entry key="passwordType" value="PasswordText" />
<spring:entry key="passwordCallbackClass"
value="au.edu.vu.its.as.mule.ClientPasswordCallback" />
</spring:map>
</spring:property>
</spring:bean>

<spring:bean id="wss4jOutInterceptor" abstract="true"
class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<spring:property name="properties" ref="wss4jOutConfiguration" />
</spring:bean>

Thanks
Siva

Reply via email to