Genesys Cloud - Developer Community!

Sign Up

  • 1.  Java SDK 236.0.0 - Jackson Deserialization Error on ContractDefinition class for Decision Tables

    Posted 7 days ago

    SDK Version: 236.0.0

    Java Version: 21.0.9

    Spring Boot Version: 3.5.7

    Description:

    I'm trying to implement a service that retrieves Decision Table information.

    When I call the 

    BusinessRulesAPi.getBusinessrulesDecisiontable(GetBusinessrulesDecisiontableRequest)

    method from the SDK I'm finally ending up with a Jackons error:

    com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `java.util.ArrayList` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('string')
     at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 9057] (through reference chain: com.mypurecloud.sdk.v2.model.DecisionTable["publishedContract"]->com.mypurecloud.sdk.v2.model.DecisionTableContract["rowAuthoringSchema"]->com.mypurecloud.sdk.v2.model.ContractJsonSchema["definitions"]->java.util.LinkedHashMap["string"]->com.mypurecloud.sdk.v2.model.ContractDefinition["type"])

    A debugging session reveals that the error occurs in the method 

    _deserializeFromString

    in the Jackson class StdDeserializer.

    This happens when trying to deserialize the "string" definition in the "rowAuthoringSchema" -> "definitions" object:

    I've seen a similar error message from Jackson when updating from 2.17.2 to 2.18+.

    While coding the request to get the Decision Table Rows I noticed that in the 

    com.mypurecloud.sdk.v2.api.request.GetBusinessrulesDecisiontableVersionRowsRequest

    class the "pageNumber" and "pageSize" are defined as String which doesn't really make sense.

    If you look at the 

    GetFlowsDatatableRowsRequest

    the pageNumber and pageSize are defined as "Integer".


    #PlatformSDK

    ------------------------------
    Philipp Volkemer
    Softwareingenieur
    ------------------------------


  • 2.  RE: Java SDK 236.0.0 - Jackson Deserialization Error on ContractDefinition class for Decision Tables

    Posted 7 days ago

    Hello,

    • Regarding your first question/problem - the deserialization error - it appears to be a problem in the API Endpoint contract.

    See my response to Zlotan in this other post: https://community.genesys.com/discussion/conflict-between-platform-sdk-and-api

    No need to create a ticket if Zlotan shares his existing Customer Care ticket number (so I can reach out to engineering and communicate it to them).

    • Regarding your second question: pageNumber and pageSize declared as string

    This is defined this way in the API Endpoint contract (and as explained in the other post, the SDKs are automatically generated out of the Platform API Open API v2.0/Swagger definition). And you are right, it should be defined as an integer to be consistent with other endpoints.

    Could you please open a ticket with Customer Care to report this issue? And share the ticket number here.

    Once I have it, I'll reach out to engineering to let them know about the issue. (you can reference this post/my answer, in your exchange with Customer Care).

    Thank you.

    Regards,



    ------------------------------
    Jerome Saint-Marc
    Senior Development Support Engineer
    ------------------------------



  • 3.  RE: Java SDK 236.0.0 - Jackson Deserialization Error on ContractDefinition class for Decision Tables

    Posted 7 days ago

    Hi Jerome,

    I just opened a customer care ticket 0003915331 for this issue mentioning both Zsolt's and my post.

    Thanks

    Philipp



    ------------------------------
    Philipp Volkemer
    Softwareingenieur
    ------------------------------



  • 4.  RE: Java SDK 236.0.0 - Jackson Deserialization Error on ContractDefinition class for Decision Tables

    Posted 7 days ago

    Hi again Jerome,

    for the String vs. Integer pageNumber/pageSize inconsistency I opened customer care ticket 0003915334.

    Cheers

    Philipp



    ------------------------------
    Philipp Volkemer
    Softwareingenieur
    ------------------------------



  • 5.  RE: Java SDK 236.0.0 - Jackson Deserialization Error on ContractDefinition class for Decision Tables

    Posted 7 days ago

    Thanks. I'll try to find/reach out to engineering later today when they connect.

    Regards,



    ------------------------------
    Jerome Saint-Marc
    Senior Development Support Engineer
    ------------------------------



  • 6.  RE: Java SDK 236.0.0 - Jackson Deserialization Error on ContractDefinition class for Decision Tables

    Posted 7 days ago

    Thank you. I have notified the engineering team in charge of these endpoints and shared your ticket number. It is in their hands now.



    ------------------------------
    Jerome Saint-Marc
    Senior Development Support Engineer
    ------------------------------