since you are using the generic dispatch/provider mode for the cxf endpoints, you will need to set the target operation name in the route (or as the default operation at the endpoint).
set headers "operationNamespace" to "http://camel.apache.org/cxf/jaxws/dispatch" and "operationName to "Invoke". or set these as default operation names (see camel-dxf endpoint configuration page). and depending on your camel-version, the MESSAGE mode may not be working at the jaxws-provider (i.e., at the camel-cxf consumer side) and also for the cxf interceptor handling at the camel-producer side. So, I would suggest you to use the PAYLOAD mode. regarding the default operation remark, I think we could add this setting automatically when the endpoint is configured using the dispatcher mode. we can think about that. regards, aki 2013/9/13 hutao1 <[email protected]>: > 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.
