Hi,

Cxf bc provider can extract operation name from your input payload automatically, as long as your payload is correct per the wsdl, so generally you needn't specify the operation in uri. And about the to jbi uri, take a look at [1] to get more details, per your wsdl and service in cxf bc provider, it should be

to("jbi:endpoint:http://my.service.com/prototype/Annotation/cxfbc-provider-endpoint
[1]http://camel.apache.org/jbi.html

Freeman
On 2011-7-15, at 下午9:17, Rafal Janik wrote:

Hi Freeman,

Thanks a lot for your reply.

So I have cxfbc provider

   xmlns:service="http://my.service.com/prototype";
   ...
<cxfbc:provider wsdl="classpath:annotation.wsdl"
       service="service:Annotation"
       endpoint="cxfbc-provider-endpoint" />

And the xmlns:service is the same as in wsdl targetNamespace:

<wsdl:definitions name="TWebService" targetNamespace="http://my.service.com/prototype " ...>
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://my.service.com/prototype/types " ...>


As I understand values of 'service' and 'endpoint' are my names for created endpoint...

So how should look the camel to() in this case invoking annotateMethod ?

I know the following example is wrong but I have still problem with understanding it :/ :

.to("jbi:endpoint:http://my.service.com/prototype/Annotation/cxfbc-provider-endpoint?operation= {http://my.service.com/prototype/types}annotateMethod";)

and get following error :

Could not find definition for service Annotation




W dniu 15.07.2011 13:46, Freeman Fang pisze:

On 2011-7-15, at 下午7:25, Rafal Janik wrote:


Hi,

I'm trying to write a invocation of external ws service in jbi (apache servicemix) using camel.

The RouteBuilder.java :

from("timer://tutorial? fixedRate=true&delay=4000&period=10000")
          .setBody(constant(msg))
.to("jbi:service:http://externalservice.com/Annotation?operation= {http://externalservice.com/ws/types}annotateString&mep=in-out";)
          .to("log:my-test-ws-execution");

Hi,
Here you have .to("jbi:service:http://externalservice.com/Annotation?operation= {http://externalservice.com/ws/types}annotateString&mep=in-out";), which means you need a JBI provider endpoint as target, do you deploy that JBI provider endpoint? You need deploy a cxf bc provider endpoint here.

Freeman
and a msg is a proper soap message (works in soapui)


in logs I can find :

"Could not find route for exchange:"

Am I doing it wrong with the camel part ?


Fuse ESB 3.6 with camel-core 2.7.1

---------------------------------------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com














---------------------------------------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to