You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by ValeryN <no...@gmail.com> on 2016/10/18 19:09:47 UTC

serviceCall: must be configured before it can be used

Hello,

I'm trying to use serviceCall (introduced in 2.18 version) from Spring Boot
app, consul as a service discovery tool.

Here is an example:
                    from("direct:test")
                            .serviceCall("config-api")
                            .log("${body}");


Both app and target service are discoverable through consul, RestTemplate
sends REST calls just fine, but when I configure a test apache camel route
it gives me :

Caused by: java.lang.IllegalStateException: The ServiceCall:
ServiceCall[config-api] must be configured before it can be used.
	at
org.apache.camel.impl.remote.DefaultServiceCallProcessorFactory.createProcessor(DefaultServiceCallProcessorFactory.java:84)
~[camel-core-2.18.0.jar:2.18.0]
	at
org.apache.camel.impl.remote.DefaultServiceCallProcessorFactory.createProcessor(DefaultServiceCallProcessorFactory.java:51)
~[camel-core-2.18.0.jar:2.18.0]
	at
org.apache.camel.impl.DefaultProcessorFactory.createProcessor(DefaultProcessorFactory.java:69)
~[camel-core-2.18.0.jar:2.18.0]
	at
org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:535)
~[camel-core-2.18.0.jar:2.18.0]
	at
org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)
~[camel-core-2.18.0.jar:2.18.0]
	at
org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:221)
~[camel-core-2.18.0.jar:2.18.0]
	at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1068)
~[camel-core-2.18.0.jar:2.18.0]

Couldn't find anything regarding any extra configuration on the EIP page:
http://camel.apache.org/servicecall-eip.html

My camel dependencies are:

    compile group: 'org.apache.camel', name: 'camel-stream', version:
"${apacheCamelVersion}"
    compile group: 'org.apache.camel', name: 'camel-http', version:
"${apacheCamelVersion}"
    compile group: 'org.apache.camel', name: 'camel-consul', version:
"${apacheCamelVersion}"

    compile group: 'org.apache.camel', name: 'camel-xmljson', version:
"${apacheCamelVersion}"
    compile group: 'xom', name: 'xom', version: '1.2.5'





--
View this message in context: http://camel.465427.n5.nabble.com/serviceCall-must-be-configured-before-it-can-be-used-tp5788922.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: serviceCall: must be configured before it can be used

Posted by Claus Ibsen <cl...@gmail.com>.
Also mind its maybe easier and more understandable to configure
service call outside the route on a global level.

However the unit test embeds the configuring inside the route.



On Tue, Oct 18, 2016 at 10:39 PM, Claus Ibsen <cl...@gmail.com> wrote:
> You need to configure service call which registry to use, such as consul.
>
> There is a little unit test here
> https://github.com/apache/camel/blob/master/components/camel-consul/src/test/java/org/apache/camel/component/consul/processor/remote/ConsulServiceCallRouteTest.java
>
> On Tue, Oct 18, 2016 at 9:09 PM, ValeryN <no...@gmail.com> wrote:
>> Hello,
>>
>> I'm trying to use serviceCall (introduced in 2.18 version) from Spring Boot
>> app, consul as a service discovery tool.
>>
>> Here is an example:
>>                     from("direct:test")
>>                             .serviceCall("config-api")
>>                             .log("${body}");
>>
>>
>> Both app and target service are discoverable through consul, RestTemplate
>> sends REST calls just fine, but when I configure a test apache camel route
>> it gives me :
>>
>> Caused by: java.lang.IllegalStateException: The ServiceCall:
>> ServiceCall[config-api] must be configured before it can be used.
>>         at
>> org.apache.camel.impl.remote.DefaultServiceCallProcessorFactory.createProcessor(DefaultServiceCallProcessorFactory.java:84)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>         at
>> org.apache.camel.impl.remote.DefaultServiceCallProcessorFactory.createProcessor(DefaultServiceCallProcessorFactory.java:51)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>         at
>> org.apache.camel.impl.DefaultProcessorFactory.createProcessor(DefaultProcessorFactory.java:69)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>         at
>> org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:535)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>         at
>> org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>         at
>> org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:221)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>         at
>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1068)
>> ~[camel-core-2.18.0.jar:2.18.0]
>>
>> Couldn't find anything regarding any extra configuration on the EIP page:
>> http://camel.apache.org/servicecall-eip.html
>>
>> My camel dependencies are:
>>
>>     compile group: 'org.apache.camel', name: 'camel-stream', version:
>> "${apacheCamelVersion}"
>>     compile group: 'org.apache.camel', name: 'camel-http', version:
>> "${apacheCamelVersion}"
>>     compile group: 'org.apache.camel', name: 'camel-consul', version:
>> "${apacheCamelVersion}"
>>
>>     compile group: 'org.apache.camel', name: 'camel-xmljson', version:
>> "${apacheCamelVersion}"
>>     compile group: 'xom', name: 'xom', version: '1.2.5'
>>
>>
>>
>>
>>
>> --
>> View this message in context: http://camel.465427.n5.nabble.com/serviceCall-must-be-configured-before-it-can-be-used-tp5788922.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: serviceCall: must be configured before it can be used

Posted by Claus Ibsen <cl...@gmail.com>.
You need to configure service call which registry to use, such as consul.

There is a little unit test here
https://github.com/apache/camel/blob/master/components/camel-consul/src/test/java/org/apache/camel/component/consul/processor/remote/ConsulServiceCallRouteTest.java

On Tue, Oct 18, 2016 at 9:09 PM, ValeryN <no...@gmail.com> wrote:
> Hello,
>
> I'm trying to use serviceCall (introduced in 2.18 version) from Spring Boot
> app, consul as a service discovery tool.
>
> Here is an example:
>                     from("direct:test")
>                             .serviceCall("config-api")
>                             .log("${body}");
>
>
> Both app and target service are discoverable through consul, RestTemplate
> sends REST calls just fine, but when I configure a test apache camel route
> it gives me :
>
> Caused by: java.lang.IllegalStateException: The ServiceCall:
> ServiceCall[config-api] must be configured before it can be used.
>         at
> org.apache.camel.impl.remote.DefaultServiceCallProcessorFactory.createProcessor(DefaultServiceCallProcessorFactory.java:84)
> ~[camel-core-2.18.0.jar:2.18.0]
>         at
> org.apache.camel.impl.remote.DefaultServiceCallProcessorFactory.createProcessor(DefaultServiceCallProcessorFactory.java:51)
> ~[camel-core-2.18.0.jar:2.18.0]
>         at
> org.apache.camel.impl.DefaultProcessorFactory.createProcessor(DefaultProcessorFactory.java:69)
> ~[camel-core-2.18.0.jar:2.18.0]
>         at
> org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:535)
> ~[camel-core-2.18.0.jar:2.18.0]
>         at
> org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)
> ~[camel-core-2.18.0.jar:2.18.0]
>         at
> org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:221)
> ~[camel-core-2.18.0.jar:2.18.0]
>         at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1068)
> ~[camel-core-2.18.0.jar:2.18.0]
>
> Couldn't find anything regarding any extra configuration on the EIP page:
> http://camel.apache.org/servicecall-eip.html
>
> My camel dependencies are:
>
>     compile group: 'org.apache.camel', name: 'camel-stream', version:
> "${apacheCamelVersion}"
>     compile group: 'org.apache.camel', name: 'camel-http', version:
> "${apacheCamelVersion}"
>     compile group: 'org.apache.camel', name: 'camel-consul', version:
> "${apacheCamelVersion}"
>
>     compile group: 'org.apache.camel', name: 'camel-xmljson', version:
> "${apacheCamelVersion}"
>     compile group: 'xom', name: 'xom', version: '1.2.5'
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/serviceCall-must-be-configured-before-it-can-be-used-tp5788922.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2