Question
· Sep 27

Inconsistent presentation of message type when using REST service with large message body

Hello community

I sent a http post message with a large message body (approx. 200 kB) to a standard EnsLib.REST.GenericService using a standard EnsLib.HTTP.InboundAdapter.

When inspecting the message in the message viewer I expected to see a HTTPMessage XML in the Contents preview, but I found a GenericMessage with no HTTPHeaders section. After a while, I found out that the display in the message's Visual Trace differs from what is shown, when going to the View Full Contents view in the Contents tab of the message viewer.

I also found out that the presentation in the preview window and also the Contents preview changes from HTTPMessage to GenericMessage, when the stream content is truncated for display after 20000 characters. Full Contents display always shows a HTTPMessage XML.

I'd consider this inconsitency a bug and I would like to know if anybody else is able to reproduce this misbehaviour and shares my opinion. I would also be interested, if this issue is solved in newer versions than 2021.1.

I add some screenshots to clearify the problem:

The problem is, that the HTTPMessage XML contains a section with the HTTPHeaders, which are essential for further processing, while the GenericMessage does not contain the HTTPHeaders array. I'm quite sure, that the actual message contains the headers, but it's irritating not to be able to see them in some of the views. How would you rate that issue?

Regards,

Martin

Product version: IRIS 2021.1
$ZV: IRIS for UNIX (SUSE Linux Enterprise Server for x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:48:27 EDT [HealthConnect:3.3.0] [HealthConnect:3.3.0]
Discussion (2)2
Log in or sign up to continue

This is the expected behavior as documented in Message Contents

Management Portal displays only the first 20000 characters of the message by default, this can be changed as documented in Changing the Character Limit for XML Messages in the Contents Tab

So, in your case for only EnsLib.HTTP.GenericMessage you can:

Set ^EnsPortal.Settings("All","MessageContents","OutputSizeLimit","EnsLib.HTTP.GenericMessage")=<whatever size you feel appropriate>

or for any class:

Set ^EnsPortal.Settings("All","MessageContents","OutputSizeLimit")=<whatever size you feel appropriate>