Jon

the automatic conversion if CGI mode is EBCDIC is only done if the received
header is "text/xxxxx" or
"application/x-www-form-urlencoded" all other is passed binary however if
you pass windows-1252 to
YAJL it will fail if the input contains ASCII heigher that x'7F'

On Mon, Jun 26, 2017 at 8:12 PM, Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:

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.


--
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 ...

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.