cancel
Showing results for 
Search instead for 
Did you mean: 

POST / PUT Requests rejected

former_member918821
Discoverer
0 Kudos
575

Hello,

everytime I send a POST or PUT request to my service, i get an 400 Error response. The stacktrace tells me: "JSON unexpected end of file". This error is thrown by the deserializationfactory class, but the JSON is valid.

For debugging purpose, I made a request with {"title" : "test"} in Insomnia, which led to the same Error message.

GET requests work fine.

Any ideas?

Thanks for help!

stacktrace:

[cds] - DeserializationError: Error while deserializing payload
    at BufferedWriter.<anonymous> (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js:232:18)
    at BufferedWriter.emit (events.js:400:28)
    at BufferedWriter.<anonymous> (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js:32:12)<br>    at BufferedWriter.emit (events.js:412:35)
    at finish (internal/streams/writable.js:657:10)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  _rootCause: DeserializationError: An error occurred during deserialization of the entity.
      at ResourceJsonDeserializer.deserializeEntity (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js:54:13)<br>      at /home/user/projects/cobuy/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js:44:37
      at BufferedWriter.<anonymous> (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js:213:28)<br>      at BufferedWriter.emit (events.js:400:28)
      at BufferedWriter.<anonymous> (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js:32:12)<br>      at BufferedWriter.emit (events.js:412:35)
      at finish (internal/streams/writable.js:657:10)
      at processTicksAndRejections (internal/process/task_queues.js:82:21) {
    _rootCause: SyntaxError: Unexpected end of JSON input
        at JSON.parse (<anonymous>)
        at ResourceJsonDeserializer.deserializeEntity (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js:48:19)<br>        at /home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js:44:37<br>        at BufferedWriter.<anonymous> (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js:213:28)<br>        at BufferedWriter.emit (events.js:400:28)
        at BufferedWriter.<anonymous> (/home/user/projects/testproject/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js:32:12)<br>        at BufferedWriter.emit (events.js:412:35)
        at finish (internal/streams/writable.js:657:10)
        at processTicksAndRejections (internal/process/task_queues.js:82:21) {
      _data: undefined
    }
  },
  id: '1899791',
  level: 'WARNING',
  timestamp: 1652689802446
}<br>

module versions:

@sap/cds: 5.9.5
@sap/cds-compiler: 2.13.8
@sap/cds-dk: 4.8.2
@sap/cds-dk (global): 4.9.1
@sap/cds-foss: 3.1.1
@sap/cds-mtx: -- missing --
@sap/cds-odata-v2-adapter-proxy: 1.8.16
@sap/eslint-plugin-cds: 2.3.5
@sap/ux-ui5-tooling: 1.5.5
@sap/xssec: 3.2.13
Node.js: v14.17.6

Accepted Solutions (0)

Answers (1)

Answers (1)

Wojciech_P
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

Probably you need stringify (JSON.stringify()) your body request, For example in your case try to send request with following body:

  '{"title":"test"}'
former_member918821
Discoverer
0 Kudos

The Application already stringifies the body before sending.