You don't need to specify the SAAJOutInterceptor and SAAJInInterceptor in your 
cxf endpoint if you are using CXF_MESSAGE data formate.
camel-cxf already sets the saaj interceptor for you.

--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
          http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Friday, September 13, 2013 at 8:52 AM, hutao1 wrote:

> stacktrace:
> javax.xml.ws.soap.SOAPFaultException: Can't find the BindingOperationInfo
> with operation name
> {http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl}authenticateMember.
> Please check the message headers of operationName and operationNamespace.
> at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
> at $Proxy70.authenticateMember(Unknown Source)
> at org.member.test.memberTest.runTest(memberTest.java:200)
> at org.member.test.memberTest.testReportIncident(memberTest.java:147)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: org.apache.cxf.binding.soap.SoapFault: Can't find the
> BindingOperationInfo with operation name
> {http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl}authenticateMember.
> Please check the message headers of operationName and operationNamespace.
> at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75)
> at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
> at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
> at
> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
> at
> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:811)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1694)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1530)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1438)
> at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:50)
> at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:229)
> at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:660)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
> at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:541)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89)
> at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
> ... 26 more
>  
>  
> -------------------------------------------------------------------------------------------------
> camel-config.xml :
> <?xml version="1.0" encoding="UTF-8"?>
>  
> <beans xmlns="http://www.springframework.org/schema/beans";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:camel="http://camel.apache.org/schema/spring";
> xmlns:cxf="http://camel.apache.org/schema/cxf";
> xmlns:context="http://www.springframework.org/schema/context";
> xmlns:jaxws="http://cxf.apache.org/jaxws";
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context.xsd
> http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd
> http://camel.apache.org/schema/cxf
> http://camel.apache.org/schema/cxf/camel-cxf.xsd";>
>  
> <import resource="classpath:META-INF/cxf/cxf.xml" />  
>  
> <context:property-placeholder
> location="classpath:incident.properties,file:target/custom.properties"/>
>  
>  
> <bean id="logIn" class="org.apache.cxf.interceptor.LoggingInInterceptor" />
> <bean id="logOut" class="org.apache.cxf.interceptor.LoggingOutInterceptor"
> />
> <bean id="saajOut"
> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />
> <bean id="saajIn"
> class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
> <bean id="wss4jOut"
> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
> <constructor-arg>
> <map>
> <entry key="action" value="UsernameToken Timestamp" />
> <entry key="mustUnderstand" value="0" />
> <entry key="passwordType" value="PasswordDigest" />
> <entry key="user" value="iloyal-web" />
> <entry key="passwordCallbackRef">
> <ref bean="clientPasswordCallback" />
> </entry>
> </map>
> </constructor-arg>
> </bean>
> <bean id="wss4jIn"
> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
> <constructor-arg>
> <map>
> <entry key="action" value="UsernameToken Timestamp" />
> <entry key="mustUnderstand" value="0" />
> <entry key="passwordType" value="PasswordDigest" />
> <entry key="user" value="iloyal-web" />
> <entry key="passwordCallbackRef">
> <ref bean="clientPasswordCallback" />
> </entry>
> </map>
> </constructor-arg>
> </bean>
> <bean id="clientPasswordCallback"
> class="com.ibsplc.iloyal.ClientPasswordCallback">
> <property name="passwords">
> <map>
> <entry key="iloyal-web" value="iloyal123" />
> <entry key="travel-sky" value="CEAEMsky" />
> </map>
> </property>
> </bean>
>  
> <bean id="enrichBean"
> class="org.apache.camel.example.cxf.proxy.EnrichBean"/>
>  
> <cxf:cxfEndpoint id="reportAuthIncident"
>  
> address="http://172.21.127.200:10001/authenticateMemberService";
> endpointName="s:AuthenticateMember"
> serviceName="s:AuthenticateMemberService"
>  
> wsdlURL="http://172.20.35.232:5220/cea-ws/services/AuthenticateMemberService?wsdl";
>  
> xmlns:s="http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl"; >
> <cxf:properties>  
> <entry key="dataFormat" value="CXF_MESSAGE" />  
> </cxf:properties>  
> </cxf:cxfEndpoint>  
> <cxf:cxfEndpoint id="realreportAuthIncident"  
>  
> address="http://172.20.35.232:5220/cea-ws/services/AuthenticateMemberService";>
> <cxf:properties>  
> <entry key="dataFormat" value="CXF_MESSAGE" />  
> </cxf:properties>  
> <cxf:inInterceptors>
> <ref bean="logIn" />
> </cxf:inInterceptors>
> <cxf:outInterceptors>
> <ref bean="saajOut" />
> <ref bean="wss4jOut" />
> <ref bean="logOut" />
> </cxf:outInterceptors>
>  
> </cxf:cxfEndpoint>  
>  
> <camel:camelContext xmlns="http://camel.apache.org/schema/spring";
> id="context1">
>  
> <propertyPlaceholder id="properties"
> location="classpath:incident.properties,file:target/custom.properties"/>
>  
> <camel:endpoint id="callRealWebService"
> uri="http://172.17.64.133:8080/sdk/SDKService?throwExceptionOnFailure=false"/>
>  
> <camel:endpoint id="callAuthRealWebService"
> uri="http://172.20.35.232:5220/cea-ws/services/AuthenticateMemberService?throwExceptionOnFailure=false";
> />
> <camel:route trace="true">
>  
> <camel:from uri="cxf:bean:reportAuthIncident"/>
>  
> <camel:to uri="cxf:bean:realreportAuthIncident" />
>  
> </camel:route>
> </camel:camelContext>
> </beans>
>  
>  
>  
>  
> How to solve?
>  
>  
>  
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/org-apache-cxf-binding-soap-SoapFault-Can-t-find-the-BindingOperationInfo-with-operation-name-tp5739286.html
> Sent from the Camel - Users mailing list archive at Nabble.com 
> (http://Nabble.com).
>  



Reply via email to