You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by clarkcb <cl...@gmail.com> on 2013/08/09 01:29:48 UTC

Can't find the BindingOperationInfo with operation name

Hello,
I'm trying to access a remote web service, and getting stuck at the point
where I get a BindingOperationInfo error:
--------------------------------------------------------------------------------
15:23:56.831 [main] ERROR o.a.c.processor.DefaultErrorHandler - Failed
delivery for (MessageId: ID-neptune-local-51487-1376000635460-0-1 on
ExchangeId: ID-neptune-local-51487-1376000635460-0-2). Exhausted after
delivery attempt: 1 caught: java.lang.IllegalArgumentException: *Can't find
the BindingOperationInfo with operation name
{http://remote.service.com/}serviceOperation. Please check the message
headers of operationName and operationNamespace.*
java.lang.IllegalArgumentException: Can't find the BindingOperationInfo with
operation name {http://remote.service.com/}serviceOperation. Please check
the message headers of operationName and operationNamespace.
--------------------------------------------------------------------------------
Header "operationName" is set to "serviceOperation".
I have tried not setting the "operationNamespace" header, also setting it to
namespace defined in the wsdl ("http://remote.service.com/"), also setting
to empty string. I get basically the same error with each.
Do I need to set operationNamespace to something else? I would have thought
it would be the same as for serviceName and portName. Or is this not the
problem?
Here's the relevant part of my camel-cxf.xml (note the xmlns:ns namespace
definition):
--------------------------------------------------------------------------------
&lt;beans xmlns="http://www.springframework.org/schema/beans"      
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      
xmlns:cxf="http://camel.apache.org/schema/cxf"      
xmlns:ns="http://remote.service.com/"      
xsi:schemaLocation="http://www.springframework.org/schema/beans        
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd        
http://camel.apache.org/schema/cxf        
http://camel.apache.org/schema/cxf/camel-cxf.xsd"&gt;  &lt;import
resource="classpath:META-INF/cxf/cxf.xml"/&gt;  &lt;!-- endpoint definition
for remote service --&gt;  &lt;cxf:cxfEndpoint id="remoteService"                  
address="http://remote.service.com:8088/remoteService"                  
serviceClass="com.company.entities.RemoteServiceSoap"                  
endpointName="ns:remoteServiceSoap"                  
serviceName="ns:remoteService"                  
wsdlURL="http://remote.service.com:8088/remoteService?wsdl"&gt;
--------------------------------------------------------------------------------
Other possibly relevant information:
I'm developing in scala.
I'm using scalaxb to generate code from the wsdl.
The serviceClass com.company.entities.RemoteServiceSoap is a
(scalaxb-generated) trait and has all methods defined but the case differs
between the method names in the trait and the operation names in the wsdl.
Almost all method parameters are wrapped in Option.
Thanks,
Cary



--
View this message in context: http://camel.465427.n5.nabble.com/Can-t-find-the-BindingOperationInfo-with-operation-name-tp5737011.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Can't find the BindingOperationInfo with operation name

Posted by clarkcb <cl...@gmail.com>.
I'm sorry for the delay in replying. After further investigation it seems
that scalaxb is not a good choice for code generation from wsdl, so I've
switched over to using CXF code generation to java, and that seems to work
fine. Thanks!



--
View this message in context: http://camel.465427.n5.nabble.com/Can-t-find-the-BindingOperationInfo-with-operation-name-tp5737011p5737644.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Can't find the BindingOperationInfo with operation name

Posted by Aki Yoshida <el...@gmail.com>.
how the operations are exactly defined in your wsdl?
I suppose the operation name is not defined as "serviceOperation" so
it is not found under this name.


2013/8/9 clarkcb <cl...@gmail.com>:
> Hello,
> I'm trying to access a remote web service, and getting stuck at the point
> where I get a BindingOperationInfo error:
> --------------------------------------------------------------------------------
> 15:23:56.831 [main] ERROR o.a.c.processor.DefaultErrorHandler - Failed
> delivery for (MessageId: ID-neptune-local-51487-1376000635460-0-1 on
> ExchangeId: ID-neptune-local-51487-1376000635460-0-2). Exhausted after
> delivery attempt: 1 caught: java.lang.IllegalArgumentException: *Can't find
> the BindingOperationInfo with operation name
> {http://remote.service.com/}serviceOperation. Please check the message
> headers of operationName and operationNamespace.*
> java.lang.IllegalArgumentException: Can't find the BindingOperationInfo with
> operation name {http://remote.service.com/}serviceOperation. Please check
> the message headers of operationName and operationNamespace.
> --------------------------------------------------------------------------------
> Header "operationName" is set to "serviceOperation".
> I have tried not setting the "operationNamespace" header, also setting it to
> namespace defined in the wsdl ("http://remote.service.com/"), also setting
> to empty string. I get basically the same error with each.
> Do I need to set operationNamespace to something else? I would have thought
> it would be the same as for serviceName and portName. Or is this not the
> problem?
> Here's the relevant part of my camel-cxf.xml (note the xmlns:ns namespace
> definition):
> --------------------------------------------------------------------------------
> &lt;beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:cxf="http://camel.apache.org/schema/cxf"
> xmlns:ns="http://remote.service.com/"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> http://camel.apache.org/schema/cxf
> http://camel.apache.org/schema/cxf/camel-cxf.xsd"&gt;  &lt;import
> resource="classpath:META-INF/cxf/cxf.xml"/&gt;  &lt;!-- endpoint definition
> for remote service --&gt;  &lt;cxf:cxfEndpoint id="remoteService"
> address="http://remote.service.com:8088/remoteService"
> serviceClass="com.company.entities.RemoteServiceSoap"
> endpointName="ns:remoteServiceSoap"
> serviceName="ns:remoteService"
> wsdlURL="http://remote.service.com:8088/remoteService?wsdl"&gt;
> --------------------------------------------------------------------------------
> Other possibly relevant information:
> I'm developing in scala.
> I'm using scalaxb to generate code from the wsdl.
> The serviceClass com.company.entities.RemoteServiceSoap is a
> (scalaxb-generated) trait and has all methods defined but the case differs
> between the method names in the trait and the operation names in the wsdl.
> Almost all method parameters are wrapped in Option.
> Thanks,
> Cary
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Can-t-find-the-BindingOperationInfo-with-operation-name-tp5737011.html
> Sent from the Camel - Users mailing list archive at Nabble.com.