symphonyoss / symphony-java-client

Java client library for Symphony
Apache License 2.0
34 stars 37 forks source link

Unrecognized field "messageId" #130

Open rahul-bhatt opened 5 years ago

rahul-bhatt commented 5 years ago

Snippet of the error message:

Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "messageId" (class org.symphonyoss.symphony.agent.model.V4Event), not marked as ignorable (5 known properties: "type", "id", "timestamp", "initiator", "payload"]) at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@1c6222d2; line: 1, column: 30] (through reference chain: org.symphonyoss.symphony.agent.model.V4EventList[0]->org.symphonyoss.symphony.agent.model.V4Event["messageId"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:62) at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:834) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1093) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1478) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1456) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:282) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:287) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:259) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26) at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:1583) at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:964) at com.fasterxml.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:810) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:256) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:235) at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155) at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1085) at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:874) ... 17 more [2019-07-30 13:56:29,772] INFO - org.symphonyoss.client.services.MessageFeedWorker.initDatafeed(MessageFeedWorker.java:95) - Creating datafeed with pod... -> {}

This error message comes when trying to parse the incoming message.

I saw one such similar issue closed however I am not sure how I can implement the same solution in my code.

This is how I get SymphonyClient object:

`symAuthenticator = SymAuthFactory.getSymAuth(botConfig); String userEmail = botConfig.asString(BOT_ACCOUNT_EMAIL); URL agentUrl = botConfig.asURL(AGENT_URL); URL podUrl = botConfig.asURL(POD_URL);

symphonyClient = SymphonyClientFactory.getClient(SymphonyClientFactory.TYPE.V4); symphonyClient.init(symAuthenticator, userEmail, agentUrl.toString(), podUrl.toString());`

Another question I have is regarding the difference between "TYPE.V4" and "TYPE.BASIC"? Is it that for rendering complex messageML and structured objects we have to use TYPE.V4?

Thanks