Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-06-02/Enterprise Deployment (built 2025-06-02)

    Hi, I see the fix in 13.1, but not in 13.0 - could you please fix that one too?

    And thanks for the explanation, no worries: I’m not using it for a UI built with SmartClient, I just had that doubt while testing it in the showcase.

    Leave a comment:


  • Isomorphic
    replied
    We have changed things so that missing requiredCriterion is also returned in the body of the response, even in simplified REST mode. However, it is correct that the HTTP response has a status of 400 (Bad Request) and that SmartCLient reports this as a transport error. Simplified REST mode is intended for basic, unsophisticated REST clients that expect state to be communicated through HTTP codes - it absolutely is not intended for use with a SmartClient UI. Quoting from the RESTHandler Javadoc:

    This simplified mode may be appropriate for automated systems that need to query or update DataSource data in a simplified manner. Using SimplifiedREST for a SmartClient or SmartGWT browser-based UI is always, always wrong. It will create additional work while crippling your UI's capabilities and also creating performance problems.

    Leave a comment:


  • claudiobosticco
    replied
    Hello, sorry for the delayed feedback. I've tested this with both latest version 13.0 and 13.1, and it only works if I don't use the "Simplified REST" syntax.
    Using the test case from the first post - modified to use the Simplified syntax (this is for the 13.0 showcase, requiredCriterion sample):

    Code:
    isc.RestDataSource.create({
        ID:"worldDS",
        dataFormat:"json",
        dataURL:"https://www-demos.smartclient.com/smartclient-13.0/isomorphic/RESTHandler/worldDS/fetch/fetchByRequiredCriterion"
    }).fetchData()
    I still get this response in the browser's Network tab:

    Code:
    <SCRIPT>//'"]]>>isc_JSONResponseStart>>{"errorCode":-13,"errorMessages":[]}//isc_JSONResponseEnd
    (Note: in the RPC tab of the Developer Console, there's a "Transport Error" - is that expected?)

    Leave a comment:


  • Isomorphic
    replied
    Sorry for the delay. This issue has now been fixed; the fix will be present in builds of 13.0 and greater as of tomorrow, December 20th.

    Leave a comment:


  • claudiobosticco
    replied
    hello, any news about this issue?

    Leave a comment:


  • Isomorphic
    replied
    Hi Claudio
    Just a note to say this is being looked at and we'll follow up when we have any information for you

    Regards
    Isomorphic Software

    Leave a comment:


  • claudiobosticco
    replied
    Hello, please let me know if you see the issue or need any additional details.
    From my perspective, it seems the RESTHandler should return a response similar to the one in post #2.

    Leave a comment:


  • claudiobosticco
    replied
    Hello, actually I just realized that for this kind of error, the response protocol seems different, as in the requiredCriterion sample I think, where the response is:

    Code:
    {
        affectedRows:0,
        invalidateCache:false,
        isDSResponse:true,
        missingCriterion:"Area (kmē)",
        queueStatus:-1,
        status:-13,
        data:null
    }
    so maybe this is the actual problem?

    Leave a comment:


  • RESTHandler returns no errorMessages when requiredCriterion fails

    SmartClient Version: SNAPSHOT_v13.1d_2024-10-06/AllModules Development Only (built 2024-10-06)
    and
    SmartClient Version: v13.0p_2024-10-05/AllModules Development Only (built 2024-10-05)


    Hello, please try this test case here https://www-demos.smartclient.com/sm...uiredCriterion

    modified as (for 13.1):

    Code:
    isc.RestDataSource.create({
        ID:"worldDS",
        dataURL:"https://www-demos.smartclient.com/smartclient-13.1/isomorphic/RESTHandler?dataSource=worldDS&operationType=fetch&operationId=fetchByRequiredCriterion"
    }).fetchData()
    or like this for 13.0:
    Code:
    isc.RestDataSource.create({
        ID:"worldDS",
        dataURL:"https://www-demos.smartclient.com/smartclient-13.0/isomorphic/RESTHandler?dataSource=worldDS&operationType=fetch&operationId=fetchByRequiredCriterion"
    }).fetchData()
    You'll see the correct error code 13 in the response, but no errorMessages.
    Last edited by claudiobosticco; 7 May 2025, 01:44.
Working...
X