Skip to content

Intercom-java SDK is not compatible with recent versions of Jackson #311

@stickfigure

Description

@stickfigure

If you use Jackson v 2.16.x, you get this exception (in this case, updating a Company). Reverting to Jackson 2.15.4 works.

Caused by: io.intercom.api.IntercomException: Local exception calling [https://api.intercom.io//companies]. Check connectivity and settings. [Unrecognized field "type" (class io.intercom.api.TypedData), not marked as ignorable (0 known properties: ])
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 288] (through reference chain: io.intercom.api.Company["tags"]->io.intercom.api.TagCollection["tags"]->java.util.ArrayList[0]->io.intercom.api.TypedData["type"])]
	at io.intercom.api.HttpClient.throwLocalException(HttpClient.java:124)
	at io.intercom.api.HttpClient.executeHttpMethod(HttpClient.java:112)
	at io.intercom.api.HttpClient.post(HttpClient.java:100)
	at io.intercom.api.DataResource.update(DataResource.java:35)
	at io.intercom.api.Company.update(Company.java:51)
	at com.orbitkit.houston.intercom.CompanyUpdater.update(CompanyUpdater.java:107)
	at com.orbitkit.houston.intercom.IntercomUpdateOrgTask.run2(IntercomUpdateOrgTask.java:35)
	at com.orbitkit.houston.util.task.Task.run(Task.java:26)
	at com.orbitkit.remote.errand.RunTask.run(RunTask.java:23)
	at com.orbitkit.remote.Errand.lambda$start$0(Errand.java:132)
	... 4 more
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "type" (class io.intercom.api.TypedData), not marked as ignorable (0 known properties: ])
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 288] (through reference chain: io.intercom.api.Company["tags"]->io.intercom.api.TagCollection["tags"]->java.util.ArrayList[0]->io.intercom.api.TypedData["type"])
	at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1153)
	at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2224)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1719)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1697)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:316)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:359)
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244)
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:28)
	at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:310)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
	at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:310)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
	at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4899)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3846)
	at io.intercom.api.HttpClient.readEntity(HttpClient.java:192)
	at io.intercom.api.HttpClient.handleSuccess(HttpClient.java:176)
	at io.intercom.api.HttpClient.runRequest(HttpClient.java:153)
	at io.intercom.api.HttpClient.executeHttpMethod(HttpClient.java:110)
	... 12 more

Version info

  • intercom-java version: 2.8.2
  • Java version: 21

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions