cancel
Showing results for 
Search instead for 
Did you mean: 

External REST-Service Statuscode 9xx Response causes exception - Can I add additional to ICM?

Florian
Active Contributor

Hi everyone,

I have an external REST-Service which give me in some cases a non-standard response code, which leads to an exception in my rest-development.

The root-cause of this error is, that the ICM-Server does not know this statuscode. I can also see the error in transaction SMICM when I have a look at the log. There is my Statuscode correct displayed, but this does not help me, because it's not transported to my application.

So I ask myself, if there is a way to add this statuscodes (for example 950) to the icm, that it does not end with a dump.

Before you suggest it, it is not possible to modify the REST-Service on the other side, because it's a mainly used service and I'm not allowed to request changes.

~Florian

Florian
Active Contributor
0 Kudos

andre.fischer maybe you have an answer or even the answer that something like that is not possible.

View Entire Topic
Domi
Contributor

Unfortunately, the error is triggered in the kernel and only limited information is transferred to the application code.

Client method receive( ): raises EXCEPTIONS http_communication_failure

Client method response->get_header_fields( ): only these header fields are available, no additional/custom header fields!

  • ~response_line HTTP/1.0 500 Connection Broken
  • ~server_protocol HTTP/1.0
  • ~status_code 500
  • ~status_reason Connection Broken
  • date Tue, 17 Nov 2020 22:03:42 GMT
  • server SAP NetWeaver Application Server 7.42 / ICM 7.42
  • connection close
  • content-length 1234
  • content-type text/html
  • ~remote_addr
  • ~uri_scheme_expanded NONE

Client method response->get_last_error( ) returns:

  • code 401
  • message connection to partner broken
  • message_class SCLNT_HTTP
  • message_number 401

Remote Service Status Code:

  • 001 - 099: Status Code 500 - NO Exception
  • 100: Status Code 500 - Exception
  • 101: Status Code 400 - Exception
  • 102: Status Code 500 - Exception
  • >600: Status Code 500 - Exception