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). >