org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
This post was updated on .
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="******" />
                        </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?
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

Charles Moulliard
You get this exception as the SOAP message received contains an operation which is not mapped correctly to WSDL definition. This thread covers this point : http://stackoverflow.com/questions/14705362/repsonse-from-web-service-using-apache-cxf-shows-no-binding-operation-info
Apache Committer / Sr. Pr. Consultant at FuseSource.com
Email: [hidden email]
Twitter : @cmoulliard, @fusenews
Blog : http://cmoulliard.blogspot.com
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
I am using apache camel cxf proxy error,
as follows:
<cxf:cxfEndpoint id="reportAuthIncident"
                   address="http://172.21.127.200:10001/authenticateMember"
                   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" 
                   wsdlURL="http://172.20.35.232:5220/cea-ws/services/AuthenticateMemberService?wsdl">
                       <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">
        <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>


What follows is configured correctly?
<cxf:cxfEndpoint id="realreportAuthIncident"  
                   address="http://172.20.35.232:5220/cea-ws/services/AuthenticateMemberService" 
                   wsdlURL="http://172.20.35.232:5220/cea-ws/services/AuthenticateMemberService?wsdl">

Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

Aki Yoshida-3
In reply to this post by hutao1
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 <[hidden email]>:

> 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.
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
How to modify the following configuration? in the following I offer wsdl

 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> 

wsdl context:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl" xmlns:tns1="http://www.ibsplc.com/iloyal/member/authenticatemember/type/" xmlns:impl="http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:cmn="http://www.ibsplc.com/iloyal/common/type/">
  <wsdl:types>
    <xsd:schema  targetNamespace="http://www.ibsplc.com/iloyal/member/authenticatemember/" xmlns="http://www.w3.org/2001/XMLSchema">
                        <xsd:import namespace="http://www.ibsplc.com/iloyal/member/authenticatemember/type/" schemaLocation="AuthenticateMember.xsd"/>
  </xsd:schema>
  </wsdl:types>
  <wsdl:message name="MemberWebServiceException">
    <wsdl:part name="MemberWebServiceException" element="tns1:MemberWebServiceException">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuthenticateMemberResponse">
    <wsdl:part name="AuthenticateMemberResponse" element="tns1:AuthenticateMemberResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuthenticateMemberRequest">
    <wsdl:part name="AuthenticateMemberRequest" element="tns1:AuthenticateMemberRequest">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="AuthenticateMember">
    <wsdl:operation name="authenticateMember">
      <wsdl:input name="AuthenticateMemberRequest" message="impl:AuthenticateMemberRequest">
    </wsdl:input>
      <wsdl:output name="AuthenticateMemberResponse" message="impl:AuthenticateMemberResponse">
    </wsdl:output>
      <wsdl:fault name="MemberWebServiceException" message="impl:MemberWebServiceException">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="authenticateMemberServiceSoapBinding" type="impl:AuthenticateMember">
    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="authenticateMember">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="AuthenticateMemberRequest">
        <wsdlsoap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="AuthenticateMemberResponse">
        <wsdlsoap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="MemberWebServiceException">
        <wsdlsoap:fault name="MemberWebServiceException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="AuthenticateMemberService">
    <wsdl:port name="AuthenticateMember" binding="impl:authenticateMemberServiceSoapBinding">
      <wsdlsoap:address location="/cea-ws/services/AuthenticateMemberService"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

Willem.Jiang
Administrator
In reply to this post by hutao1
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 | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
Thank you for your reply.

The latest configuration is as follows, but still the same error:

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:84)
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
        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)
        ... 27 more

==============================================================================

 <cxf:cxfEndpoint id="reportAuthIncident"
                   address="http://172.21.127.200:10001/authenticateMember"
                   endpointName="s:AuthenticateMember"
                   serviceName="s:AuthenticateMemberService"
                   wsdlURL="http://10.20.208.72:5120/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://10.20.208.72:5120/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="wss4jOut" />
                                                <ref bean="logOut" />
                                        </cxf:outInterceptors>
   </cxf:cxfEndpoint> 
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

Willem.Jiang
Administrator
I think you need to reset the operation name header with the back end service can used.


--  
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 Sunday, September 22, 2013 at 9:34 AM, hutao1 wrote:

> Thank you for your reply.
>  
> The latest configuration is as follows, but still the same error:
>  
> 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:84)
> at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
> at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
> 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)
> ... 27 more
>  
> ==============================================================================
>  
> <cxf:cxfEndpoint id="reportAuthIncident"
> address="http://172.21.127.200:10001/authenticateMember"
> endpointName="s:AuthenticateMember"
> serviceName="s:AuthenticateMemberService"
>  
> wsdlURL="http://10.20.208.72:5120/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://10.20.208.72:5120/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="wss4jOut" />
> <ref bean="logOut" />
> </cxf:outInterceptors>
> </cxf:cxfEndpoint>  
>  
>  
>  
> --
> 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-tp5739286p5739988.html
> Sent from the Camel - Users mailing list archive at Nabble.com (http://Nabble.com).



Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1

Will you be able to give examples。

Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
In reply to this post by Willem.Jiang
Will you be able to give examples?

Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

Willem.Jiang
Administrator
In reply to this post by hutao1
Hi  

You can set the operation on the message header just like this
from("cxf:xxx").setHeader(CxfConstants.OPERATION_NAME, GREET_ME_OPERATION).to("cxf:xxx");
Please go through the wiki page[1] for more information.

[1]http://camel.apache.org/cxf.html 

--  
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 Sunday, September 22, 2013 at 11:04 AM, hutao1 wrote:

>  
> Will you be able to give examples。
>  
> Thank you.
>  
>  
>  
> --
> 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-tp5739286p5739991.html
> Sent from the Camel - Users mailing list archive at Nabble.com (http://Nabble.com).



Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
how to achieve inl the camel-config.xml?
As it is configured correctly.
      <camel:setHeader headerName="operationName">
      <camel:simple>authenticateMember</camel:simple>
      </camel:setHeader>
      <camel:setHeader headerName="operationNamespace">
      <camel:simple>http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl</camel:simple>
      </camel:setHeader>
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
In reply to this post by Willem.Jiang
HI,
since wsdlUrl and serviceClass is null ,so operationName and operationNamespace is setted default value.
cxfendpoint:
   <cxf:cxfEndpoint id="realreportAuthIncident"
                   address="http://10.20.208.72:5120/cea-ws/services/AuthenticateMemberService">
                    <cxf:properties> 
                                            <entry key="dataFormat" value="PAYLOAD" /> 
                                           
                                            <entry key="defaultOperationName" value="authenticateMember" /> 
                                            <entry key="defaultOperationNamespace" value="http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl" /> 
                                   
                                     </cxf:properties> 
                                     
                                       <cxf:inInterceptors>
                                                <ref bean="logIn" />
                                        </cxf:inInterceptors>
                                        <cxf:outInterceptors>
                                                <ref bean="wss4jOut" />
                                                <ref bean="logOut" />
                                        </cxf:outInterceptors>
                                       
                                       
   </cxf:cxfEndpoint> 

Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

Willem.Jiang
Administrator
In reply to this post by hutao1
you can set the header value the constance just like this  
<camel:setHeader headerName="operationName">
<camel:constant>authenticateMember</camel:constant>


--  
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 Monday, September 23, 2013 at 4:01 PM, hutao1 wrote:

> how to achieve inl the camel-config.xml?
> As it is configured correctly.
> <camel:setHeader headerName="operationName">
> <camel:simple>authenticateMember</camel:simple>
> </camel:setHeader>
> <camel:setHeader headerName="operationNamespace">
>  
> <camel:simple>http://www.ibsplc.com/iloyal/member/authenticatemember/wsdl</camel:simple>
> </camel:setHeader>
>  
>  
>  
> --
> 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-tp5739286p5740042.html
> Sent from the Camel - Users mailing list archive at Nabble.com (http://Nabble.com).



Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
get the same error:
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:84)
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
        at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
        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)
        ... 27 more
Reply | Threaded
Open this post in threaded view
|

Re: org.apache.cxf.binding.soap.SoapFault: Can't find the BindingOperationInfo with operation name

hutao1
In reply to this post by Willem.Jiang
camel-cxf source code as follows:
 Client createClient() throws Exception {

        // get service class
        if (getDataFormat().equals(DataFormat.POJO)) {
            ObjectHelper.notNull(getServiceClass(), CxfConstants.SERVICE_CLASS);
        }

        if (getWsdlURL() == null && getServiceClass() == null) {
            // no WSDL and serviceClass specified, set our default serviceClass
            setServiceClass(org.apache.camel.component.cxf.DefaultSEI.class.getName());
            setDefaultOperationNamespace(CxfConstants.DISPATCH_NAMESPACE);
            setDefaultOperationName(CxfConstants.DISPATCH_DEFAULT_OPERATION_NAMESPACE);
            if (getDataFormat().equals(DataFormat.PAYLOAD)) {
                setSkipPayloadMessagePartCheck(true);
            }
        }