OK, made some progress, but still hitting problems.

The only way I could get it to work is to manually set the BoxConfiguration when creating the CamelContext.

BoxConfiguration configuration =new BoxConfiguration();
configuration.setClientId("xxx");
configuration.setClientSecret("xxx");
configuration.setUserName("xxx");
configuration.setUserPassword("xxx");
DefaultCamelContext context =new DefaultCamelContext(registry);
BoxComponent box = (BoxComponent)context.getComponent("box");
box.setConfiguration(configuration);

(and BTW the docs say the property for the BoxConfiguration is called boxConfig, but the bean property seems to be configuration, thought I coudn't get it to work that way)

With that is seems to fire up OK and I think I'm getting past the OAuth authentication process (because if I use a bad password it fails).

But when I cause a Box event to fire (e.g. by uploading a file) this happens:

[Camel (camel-1) thread #1 - CamelBox] WARN org.apache.camel.component.box.BoxConsumer - Caused by: [org.apache.camel.RuntimeCamelException - com.box.restclientv2.exceptions.BoxRestException: Failed to parse response.] org.apache.camel.RuntimeCamelException: com.box.restclientv2.exceptions.BoxRestException: Failed to parse response. at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1763) at org.apache.camel.component.box.BoxConsumer.onException(BoxConsumer.java:83) at org.apache.camel.component.box.internal.LongPollingEventsManager$1.run(LongPollingEventsManager.java:212) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.box.restclientv2.exceptions.BoxRestException: Failed to parse response. at com.box.restclientv2.responseparsers.DefaultBoxJSONResponseParser.parse(DefaultBoxJSONResponseParser.java:77) at com.box.restclientv2.responses.DefaultBoxResponse.parseResponse(DefaultBoxResponse.java:54) at com.box.boxjavalibv2.resourcemanagers.AbstractBoxResourceManager.getResponseAndParse(AbstractBoxResourceManager.java:121) at com.box.boxjavalibv2.resourcemanagers.AbstractBoxResourceManager.getResponseAndParseAndTryCast(AbstractBoxResourceManager.java:108) at com.box.boxjavalibv2.resourcemanagers.BoxEventsManagerImpl.getEvents(BoxEventsManagerImpl.java:54) at org.apache.camel.component.box.internal.LongPollingEventsManager$1.run(LongPollingEventsManager.java:176)
    ... 7 more
Caused by: com.box.boxjavalibv2.exceptions.BoxJSONException: com.fasterxml.jackson.databind.JsonMappingException: Class com.box.boxjavalibv2.dao.BoxUserBase not subtype of [simple type, class com.box.boxjavalibv2.dao.BoxUser] at [Source: org.apache.http.conn.EofSensorInputStream@7383fa41; line: 1, column: 21] (through reference chain: com.box.boxjavalibv2.dao.BoxEventCollection["entries"]->java.util.ArrayList[0]) at com.box.boxjavalibv2.jsonparsing.BoxJSONParser.parseIntoBoxObject(BoxJSONParser.java:105) at com.box.restclientv2.responseparsers.DefaultBoxJSONResponseParser.parseInputStream(DefaultBoxJSONResponseParser.java:94) at com.box.restclientv2.responseparsers.DefaultBoxJSONResponseParser.parse(DefaultBoxJSONResponseParser.java:73)
    ... 12 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Class com.box.boxjavalibv2.dao.BoxUserBase not subtype of [simple type, class com.box.boxjavalibv2.dao.BoxUser] at [Source: org.apache.http.conn.EofSensorInputStream@7383fa41; line: 1, column: 21] (through reference chain: com.box.boxjavalibv2.dao.BoxEventCollection["entries"]->java.util.ArrayList[0]) at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:296) at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:269) at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:443) at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:188) at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:112) at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithType(BeanDeserializerBase.java:1088) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:279) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:499) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:101) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:276) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140) at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3761) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2090) at com.box.boxjavalibv2.jsonparsing.BoxJSONParser.parseIntoBoxObject(BoxJSONParser.java:99)
    ... 14 more
Caused by: java.lang.IllegalArgumentException: Class com.box.boxjavalibv2.dao.BoxUserBase not subtype of [simple type, class com.box.boxjavalibv2.dao.BoxUser] at com.fasterxml.jackson.databind.type.TypeFactory.constructSpecializedType(TypeFactory.java:359) at com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder.buildTypeDeserializer(StdTypeResolverBuilder.java:118) at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findTypeDeserializer(BasicDeserializerFactory.java:1359) at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findPropertyTypeDeserializer(BasicDeserializerFactory.java:1494) at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.resolveMemberAndTypeAnnotations(BasicDeserializerFactory.java:1843) at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.constructSettableProperty(BeanDeserializerFactory.java:728) at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.addBeanProps(BeanDeserializerFactory.java:516) at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:226) at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:141) at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:406) at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:352) at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
    ... 31 more
[Camel (camel-1) thread #1 - CamelBox] INFO org.apache.camel.component.box.internal.LongPollingEventsManager - Stopped event polling thread for {login:tdudgeon...@gmail.com, client_id:b2qg97dks2bgrfnyjgrb48n3rdsmsdzd}


I don't fully understand this but looks like Jackson is barfing at the JSON returned, so there might be a library mismatch issue here?

Tim


On 23/01/2017 12:30, Claus Ibsen wrote:
You can configure a box configuration on the component level with your
login details.

On Mon, Jan 23, 2017 at 11:54 AM, Tim Dudgeon <tdudgeon...@gmail.com> wrote:
Is there a workaround that can be used with the current code?


On 22/01/2017 17:11, Claus Ibsen wrote:
Hi

Can you log a ticket as its a bug. The code is not so good with the
shared client stuff.

On Sun, Jan 22, 2017 at 5:56 PM, Tim Dudgeon <tdudgeon...@gmail.com>
wrote:
mmm, from this docs this is what is says about boxConfig:

"Custom Box SDK configuration, not required normally"

Tim



On 22/01/2017 13:41, souciance wrote:
Not sure but from the look of BoxComponent.java at line 83 it seems you
are
missing the parameter boxConfig.

On Sun, Jan 22, 2017 at 1:56 PM, Tim Dudgeon [via Camel] <
ml-node+s465427n5792922...@n5.nabble.com> wrote:

Hi All,

I'm having difficulty getting started with the Box component (using
Camel 2.18.1).
I'm using a route definition like this:



from("box://poll-events/poll?userName={{box_username}}&userPassword={{box_
userpassword}}&clientId={{box_client_id}}&clientSecret={{
box_client_secret}}&streamPosition=-1&streamType=all&limit=100")
...;

Other than the parameters in the route definition there's nothing else
Box related configured.

The parameters seem to be getting incorporated correctly, but the route
fails to start because of:

Exception in thread "main"
org.apache.camel.FailedToCreateRouteException: Failed to create route
route4: Route(route4)[[From[box://poll-events/poll?userName={{box_us...
because of Failed to resolve endpoint:
box://poll-events/poll?clientId=xxx&clientSecret=xxx&


limit=100&streamPosition=-1&streamType=all&userName=xxx&userPassword=RAW(xxx)

due to: Cannot auto create component: box
        at


org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:201)

        at


org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:1008)

        at


org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3397)

        at


org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3128)

        at
org.apache.camel.impl.DefaultCamelContext.access$
000(DefaultCamelContext.java:182)
        at


org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2957)

        at


org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2953)

        at


org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2976)

        at


org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2953)

        at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
        at


org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2920)

        at com.im.ext.xchem.filedrop.Main.main(Main.java:28)
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to
resolve endpoint:
box://poll-events/poll?clientId=xxx&clientSecret=xxx&


limit=100&streamPosition=-1&streamType=all&userName=xxx&userPassword=RAW(xxx)

due to: Cannot auto create component: box
        at


org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:622)

        at


org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:79)

        at


org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:211)

        at


org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:108)

        at


org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:114)

        at


org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:69)

        at


org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:90)

        at


org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1051)

        at


org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)

        ... 11 more
Caused by: org.apache.camel.RuntimeCamelException: Cannot auto create
component: box
        at


org.apache.camel.impl.DefaultCamelContext.initComponent(DefaultCamelContext.java:436)

        at


org.apache.camel.impl.DefaultCamelContext.lambda$getComponent$16(DefaultCamelContext.java:411)

        at
org.apache.camel.impl.DefaultCamelContext$$Lambda$4/2033968586
<(203)%20396-8586>.apply(Unknown
Source)
        at


java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)

        at


org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:411)

        at


org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:402)

        at


org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:592)

        ... 19 more
Caused by: java.lang.IllegalArgumentException: Unable to connect, Box
component configuration is missing
        at

org.apache.camel.component.box.BoxComponent.doStart(BoxComponent.java:83)
        at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
        at


org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:3371)

        at


org.apache.camel.impl.DefaultCamelContext.initComponent(DefaultCamelContext.java:431)

        ... 25 more

Can anyone spot what is wrong here?
Are there any examples anywhere to look at?

Thanks

Tim




------------------------------
If you reply to this email, your message will be added to the
discussion
below:
http://camel.465427.n5.nabble.com/Using-Box-component-tp5792922.html
To start a new topic under Camel - Users, email
ml-node+s465427n465428...@n5.nabble.com
To unsubscribe from Camel - Users, click here


<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=465428&code=c291Y2lhbmNlLmVxZGFtLnJhc2h0aUBnbWFpbC5jb218NDY1NDI4fDE1MzI5MTE2NTY=>
.
NAML


<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>


--
View this message in context:

http://camel.465427.n5.nabble.com/Using-Box-component-tp5792922p5792923.html
Sent from the Camel - Users mailing list archive at Nabble.com.





Reply via email to