I said in an earlier post Kevin that I had tried binary/binary as the CGI mode.

I would prefer the input to come is as-sent - i.e. in UTF-8. I was only specifying EBCDIC because Apache was converting.

I had mistakenly believed that in the absence of any directive it would pass the data as-is. when I found that was not true I tried binary. That didn't help.

What should I be using - for example to use Henrik's program what would the relevant Apache config be for passing through UTF-8 POST data?


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Jun 26, 2017, at 12:35 PM, Kevin Turner <kevin.turner@xxxxxxxxxxxxxx> wrote:

Just a thought (I admit I have only scanned your post rather than read it in detail).

You don't appear to have specified cgiConvMode in your Apache config, so I think it will default to MIXED

have you tried forcing the conversion mode and CCSID situation?

Example

DefaultNetCCSID 819
CGIJobCCSID 285
CGIConvMode EBCDIC



[https://www.netcracker.com/assets/img/netcracker-social-final.png] ƕ
________________________________________
From: WEB400 [web400-bounces@xxxxxxxxxxxx] on behalf of Jon Paris [jon.paris@xxxxxxxxxxxxxx]
Sent: 26 June 2017 15:52
To: Web400@Midrange. Com
Subject: [WEB400] Problems with YAJL and/or SoapUI

[External Email]
________________________________



Posted this on HTTPAPI list but no takers so far. Hoping someone here can offer a suggestion or three.


I have been testing a JSON based web service with SoapUI and all was going well.

_But_ in order to make my code work initially I had had to use:

root = yajl_stdin_load_tree ( *Off: errMsg );

In other words I had to tell YAJL that my data was in EBCDIC. This didn't make sense to me because I thought I was sending UTF8 but I needed it working and thought that resolution could wait for another day. Got the whole service working beautifully.

But two things happened

1) "another day" has arrived and

2) A problem with SoapUI has meant my request configuration was not saved. Tried to set it up again and now I cannot get a single *%^$ thing working.


If I tell SoapUI that the data is "application/x-www-form-urlencoded" - which I am pretty certain is what it was set as - then I get a message back from YAJL saying "unsupported content-type [application/json; charset=utf-8]"

OK - data _is_ UTF8 so I changed the *Off in the load tree to *On. But now YAJL simply blows up during the tree load.

I have tried every combination of content setting and *On/*Off combination I can think of and nothing is working. Even if I get past the load tree blowing up then YAJL blows up subsequently when trying to locate the first node.

Although I did play with the Apache config (trying to fix the UTF8/EBCDIC issue) I'm certain it is now back where it was and, other than the noted *On/*Off changes mentioned above, the program has not been changed from the working version.

Apache config is straightforward as set by the wizard with changes only to the ScriptAlias - it looks like this:

1 # Configuration originally created by Create HTTP Server wizard on Mon Jan 23 16:49:35 EST 2012
2 Listen *:1241
3 DocumentRoot /www/jonrest/htdocs
4 TraceEnable Off
5 Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch -Includes -Indexes -MultiViews
6 LogFormat "%h %T %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
7 LogFormat "%{Cookie}n \"%r\" %t" cookie
8 LogFormat "%{User-agent}i" agent
9 LogFormat "%{Referer}i -> %U" referer
10 LogFormat "%h %l %u %t \"%r\" %>s %b" common
11 CustomLog logs/access_log combined
12 LogMaint logs/access_log 7 0
13 LogMaint logs/error_log 7 0
14 SetEnvIf "User-Agent" "Mozilla/2" nokeepalive
15 SetEnvIf "User-Agent" "JDK/1\.0" force-response-1.0
16 SetEnvIf "User-Agent" "Java/1\.0" force-response-1.0
17 SetEnvIf "User-Agent" "RealPlayer 4\.0" force-response-1.0
18 SetEnvIf "User-Agent" "MSIE 4\.0b2;" nokeepalive
19 SetEnvIf "User-Agent" "MSIE 4\.0b2;" force-response-1.0
20 MaxCGIJobs 3
21 MaxThreadedCGIJobs 3
22
23 ScriptAlias /SinglePartRequest /qsys.lib/xxxxxx.lib/Singlepart.pgm
24 <Directory /qsys.lib/xxxxxx.lib >
25 Order Allow,Deny
26 Allow From All
27 SetEnv QIBM_CGI_LIBRARY_LIST "YAJL"
28 </Directory>
29
30 <Directory />
31 Order Deny,Allow
32 Deny From all
33 </Directory>
34 <Directory /www/jonrest/htdocs>
35 Order Allow,Deny
36 Allow From all
37 </Directory>
38

Hopefully someone with more experience in this area can point me in the right direction because right now I'm clueless.


Jon Paris

www.partner400.com <http://www.partner400.com/>
www.SystemiDeveloper.com


--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.




________________________________
The information transmitted herein is intended only for the person or entity to which it is addressed and may contain confidential, proprietary and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.