vitaB opened a new issue #888: telegram extension cannot construct 
IncomingMessageEntity for commands
URL: https://github.com/apache/camel-quarkus/issues/888
 
 
   I tried a simple bot that only logs the incoming messages.
   ```
   @ApplicationScoped
   class TelegramRoute {
       @Produces
       fun myRoutes() = routes {
           from("telegram:bots")
                   .log("\${body}")
                   .to("telegram:bots")
       }
   }
   ```
   This works for a normal text message, as a jar as well as native image. But 
as soon as I send a command (e.g. /start or /echo) the native variant throws 
the following errors:
   ```
   2020-03-14 15:45:50,217 WARN  [org.apa.cam.com.tel.TelegramConsumer] (Camel 
(camel-1) thread #1 - telegram://bots) Consumer Consumer[telegram://bots] 
failed polling endpoint: telegram://bots. Will try again at next poll. Caused 
by: [java.lang.RuntimeException - Could not parse the response from GET 
https://api.telegram.org/botxxxxx/getUpdates?limit=100&timeout=30]: 
java.lang.RuntimeException: Could not parse the response from GET 
https://api.telegram.org/botxxxxxx/getUpdates?limit=100&timeout=30
           at 
org.apache.camel.component.telegram.service.TelegramServiceRestBotAPIAdapter.sendSyncRequest(TelegramServiceRestBotAPIAdapter.java:165)
           at 
org.apache.camel.component.telegram.service.TelegramServiceRestBotAPIAdapter.getUpdates(TelegramServiceRestBotAPIAdapter.java:149)
           at 
org.apache.camel.component.telegram.TelegramConsumer.poll(TelegramConsumer.java:59)
           at 
org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187)
           at 
org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:106)
           at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
           at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
           at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
           at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
           at java.lang.Thread.run(Thread.java:748)
           at 
com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:527)
           at 
com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
   Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 
Cannot construct instance of 
`org.apache.camel.component.telegram.model.IncomingMessageEntity` (no Creators, 
like default construct, exist): cannot deserialize from Object value (no 
delegate- or property-based Creator)
    at [Source: (String)"{"ok":true,"result":[{"update_id":xxx,
   
"message":{"message_id":xxx,"from":{"id":xxxx,"is_bot":false,"first_name":"xxx","language_code":"de"},"chat":{"id":xxxx,"first_name":"xxx","type":"private"},"date":1584200750,"text":"/echo
 a","entities":[{"offset":0,"length":5,"type":"bot_command"}]}}]}"; line: 2, 
column: 218] (through reference chain: 
org.apache.camel.component.telegram.model.UpdateResult["result"]->java.util.ArrayList[0]->org.apache.camel.component.telegram.model.Update["message"]->org.apache.camel.component.telegram.model.IncomingMessage["entities"]->java.util.ArrayList[0])
           at 
com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1589)
           at 
com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1055)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1297)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
           at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:286)
           at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
           at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
           at 
com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:288)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
           at 
com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:288)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
           at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:286)
           at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
           at 
com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
           at 
com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:288)
           at 
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
           at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
           at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)
           at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3173)
           at 
org.apache.camel.component.telegram.service.TelegramServiceRestBotAPIAdapter.sendSyncRequest(TelegramServiceRestBotAPIAdapter.java:162)
           ... 13 more
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to