Skip to content

NumberFormatException in updateCustomerProfileV2 Due to Large ID Value #62

@julianmican

Description

@julianmican

Description:

When using the TalonOne SDK's updateCustomerProfileV2 method, the API response sometimes returns an ID value that exceeds the limit of an Integer. This results in a NumberFormatException, as the SDK expects an int, but the returned value is too large to be stored as such.

Error Details:

The following exception is thrown:


`java.lang.NumberFormatException: Expected an int but was 2298443835 at line 1 column 78 path $.customerProfile.id

at one.talon.JSON.deserialize ( one/talon/JSON.java:145 )
at one.talon.ApiClient.deserialize ( one/talon/ApiClient.java:835 )
at one.talon.ApiClient.handleResponse ( one/talon/ApiClient.java:1038 )
at one.talon.ApiClient.execute ( one/talon/ApiClient.java:965 )
at one.talon.api.IntegrationApi.updateCustomerProfileV2WithHttpInfo ( one/talon.api/IntegrationApi.java:3387 )
at one.talon.api.IntegrationApi.updateCustomerProfileV2 ( one/talon.api/IntegrationApi.java:3362 )
`

Root Cause:

In TalonOneJavaSdk/src/main/java/one/talon/model/CustomerSessionV2.java, the id field is defined as an Integer:

  public static final String SERIALIZED_NAME_ID = "id";
  @SerializedName(SERIALIZED_NAME_ID)
  private Integer id;

Since an Integer in Java has a maximum value of 2,147,483,647, any value exceeding this limit (e.g., 2,298,443,835) causes a NumberFormatException.

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