sponsored links

Collapse

Announcement

Collapse
No announcement yet.

CPF3C20 unmonitored by YAJLR4 at statement 0000004341, instruction X'0000'

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CPF3C20 unmonitored by YAJLR4 at statement 0000004341, instruction X'0000'

    Hi All,

    I am trying to get JSON string out via web service using YAJL_writeStdout(200:charVar).
    I have updated the configuration file like :-

    ----------------------------------------------------------------------------------------------------------------
    ScriptAlias /RESTTRN_JSN /qsys.lib/mylib.lib/mypgm.pgm
    <Directory /qsys.lib/mylib.lib>
    Order Allow,Deny
    Allow From All
    </Directory>
    ----------------------------------------------------------------------------------------------------------------

    Invocation of program failed.
    AS400Message (ID: CEE9901 text: Application error. CPF3C20 unmonitored by YAJLR4 at statement 0000004341, instruction X'0000'.):com.ibm.as400.access.AS400Message@9d5a72 f0.


    I am able to successfully use my code when the output is on IFS using yajl_saveBuf('/tmp/example.json': charvar).

    I am not sure, what am I missing?

    Thanks,
    Amit Sharma







  • #2
    You've posted a Java error message, which really surprises me since YAJLR4 is designed to be called from RPG programs. Can you give me a better picture of your enviromment? You show an Apache config that tells it to call mylib/mypgm. Obviously, that means that mylib/mypgm is a Java program (or calls a Java program.) Then somehow, the Java program is calling YAJLR4? How does that work? I've never seen that before.

    Comment


    • #3
      Hi Scott,

      Thank you for your speedy response.

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Yes, this a message I receive when I call my webservice but my webservice is RPG program. So mylib/mypgm is a RPG program.

      If I call my RPG program from the command line where I use yajl_saveBuf('/tmp/example.json': charvar), I get the correct output at IFS.
      But when I replace yajl_saveBuf with YAJL_writeStdout(200:charVar) or QtmhWrStout( bigCharVar : length: err ) it fails with the message:-

      AS400Message (ID: CEE9901 text: Application error. CPF3C20 unmonitored by YAJLR4 at statement 0000004341, instruction X'0000'.):com.ibm.as400.access.AS400Message@9d5a72 f0.

      The Apache configuration I added is just after the default

      ScriptAlias /RESTTRN_JSN /qsys.lib/mylib.lib/mypgm.pgm
      <Directory /qsys.lib/mylib.lib>
      Order Allow,Deny
      Allow From All
      </Directory>

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      Comment


      • #4
        This issue is resolved, it was occurring because - QHTTPSVR library was not in the library list.

        I added it and now I am getting error

        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        Invocation of program failed.
        AS400Message (ID: CEE9901 text: Application error. TCP7531 unmonitored by YAJLR4 at statement 0000004351, instruction X'0000'.):com.ibm.as400.access.AS400Message@91a7db aa
        -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


        Looks like a PTF issue for V6R1 and we are on V7R3 so should not be an issue for us...........


        Any inputs ?

        Comment


        • #5
          code snippet

          --------------------------------------------------------------------
          begsr JSON_Save;

          // yajl_saveBuf('/tmp/example.json': charvar);

          YAJL_writeStdout(200:charVar);

          yajl_genClose();


          endsr;
          ---------------------------------------------------------------------

          Job log error

          ------------------------------------------------------------------------------------------------------------------------------------------
          The call to YAJL_WRITE ended in error (C G D F).
          ? C
          Application error. TCP7531 unmonitored by YAJLR4 at statement 0000004351,
          instruction X'0000'.
          ------------------------------------------------------------------------------------------------------------------------------------------
          Last edited by AS_Developer; July 16th, 2019, 01:06 AM.

          Comment


          • #6
            I've run into this problem on V6R1, but not on more recent releases. As you point out, it can be solved simply by adding the QHTTPSVR library to your library list.

            Comment


            • #7
              I think I found the problem. I will let you know what was wrong with my code.
              Last edited by AS_Developer; July 17th, 2019, 07:40 AM.

              Comment


              • #8
                The problem was - I had the same program defined in CGI script and deployed as a web service as well (via the application server).
                the server was getting confused and was giving the error.

                Comment

                Working...
                X