I have a CGI webservice written in RPG that returns JSON. It processes about 200 requests a day and has been in production for a couple of weeks. I have one request that consistently returns strange garbage at the beginning of the response. So far, I’ve only seen a single request that does this. I can’t see anything unusual about this request. I’ve debugged the RPG code, and it looks to be functioning correctly.

Any suggestions on where to look now? TIA


Here is what a normal response looks like:
HTTP/1.1 200 OK
Date: Fri, 24 May 2019 15:05:38 GMT
Server: Apache
Content-Type: application/json; charset=utf-8
Content-Length: 80297

{json_data_here}



Here is what the bogus response consistently shows:
HTTP/1.1 200 OK
Date: Fri, 24 May 2019 15:27:05 GMT
Server: Apache
Content-Type: image/x-portable-graymap
Content-Length: 91261

�`鉗@�K��@@Ö�������@M�]@����`����@ɇ��@ׁ����@@����`��`��%�����@兙����@�K��@M������~��m��k䣆��~��kȤ��Ɖ���~��k�@���]%%י��������@�������z@a���a���`������������`����`�����m������m��������������������K���%%ŧ��������@@�����K���%ŧ��������@@�����K���%ŧ��������@@����K���%ŧ��������@@������K���%ŧ��������@@�ä���K���%%ť��������@��@֒%%Ɖ���z@�%≩�z@@@@@@@�����%Ö��������z@����%⣁���z@���@��
%�����`����z@�����������a����^@�������~���`�
%
%{json_data_here}



RPG snippet:
yajl_genOpen(*off);
yajl_beginObj();
yajl_addChar('' : );
yajl_addCharPtr('' : :);

yajl_endObj();

yajl_copyBuf( 1208
: %addr(lJsonData)
: %size(lJsonData)
: lLength );

yajl_genClose();

lDataOut = 'Status: 200 OK'
+ CRLF
+ 'Content-type: application/json; charset=utf-8'
+ CRLF + CRLF
+ lJsonData
+ CRLF
;
lLength = %len(%trimr(lDataOut));

QtmhWrStoutAPI(lDataOut :lLength :QUSEC);
If QUSEI = *blank;
Else;
Endif;

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.