IC SunsetThe developerWorks Connections Platform is now in read-only mode and content is only available for viewing. No new wiki pages, posts, or messages may be added. Please see our FAQ for more information. The developerWorks Connections platform will officially shut down on March 31, 2020 and content will no longer be available. More details available on our FAQ. (Read in Japanese.)
Topic
  • 3 replies
  • Latest Post - ‏2017-01-30T17:07:38Z by bayliss
JibinJacob
JibinJacob
30 Posts

Pinned topic Getting an error while executing an API to access the channels and Containers module

‏2017-01-24T07:49:12Z |

Hi,

I have created an API to access the module which is written based on Channels and Containers concept. I have configured the Input and Output Container name in the server.xml and I am using Default Channel (IBM-WAS-ADAPTER). 

I have executed through debug mode in RDz and I can see values coming from API and and populating into INPUTCONT and its processing.  After the business processing is completed (select data from DB2 table), its populating the data to response through OUTPCONT. 

I have evaluated RESP1 and RESP2 in the module, its showing as normal.

But I am getting the below error as part of response in the POSTMAN Rest Client

 

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.lang.Thread.run(Thread.java:785)\nCaused by: javax.resource.ResourceException: The EXEC CICS GET CONTAINER OUTPCONT         command did not retrieve data from the specified channel container. The EIBRESP value is 22, and the EIBRESP2 value is 11.\n\tat 

The EXEC CICS GET CONTAINER OUTPCONT -  this statement is not in the module.

Server.xml details:

<zosconnect_localAdaptersConnectServiceid="containertest"

       registerName="CIC3"

       serviceName="APITEST2"

       useCICSContainer="true"

       linkTaskReqContID="INPUTCONT"

       likkTaskReqContType="0"

       linkTaskRspContID="OUTPCONT"

       linkTaskRspContType="0"

       connectionFactoryRef="wolaCF" />

I have attached my module also here. Please have a look.

 

Can anyone please explain:

1. Where this The EXEC CICS GET CONTAINER OUTPCONT  is getting executed (its not in the module). is it executing in WOLA?

2. EIBRESP 22 and EIBRESP2 11 looks like its a length error. How can we resolve this. Is it associated with Channel? My input container fields are just 19 chars but output container fields are  more than 100. Will it cause the issue? because the same channel 'IBM-WAS-ADAPTER' is used in the module for GET(INPUTCONT) and PUT(OUTPCONT).

 

Please help me on this.

Thanks,

Jibin

 

Attachments

  • bayliss
    bayliss
    36 Posts
    ACCEPTED ANSWER

    Re: Getting an error while executing an API to access the channels and Containers module

    ‏2017-01-24T08:56:53Z  

    Hi Jibin,

    In response to your questions:
    1. Yes, the EXEC CICS GET CONTAINER(OUTPCONT) is executed by WOLA.
    2. The length of the request and response containers in the channel is determined from the information in the wsbind file.

    Please can you check the following:
    a) that when you ran the BAQLS2JS utility you specified the parameter REQMEM=INCOPY and RESPMEM=OUTCOPY (where, I am assuming from your attached module that, INCOPY is the copybook which defines the structure of your request container and OUTCOPY is the copybook which defines the structure of your request container).
    b) that the wsbind file generated by running BAQLS2JS with these parameters has been copied to the directory specified on the bindFileLoc attribute of your server.xml element zosconnect_zosConnectDataXform.

     

    I also noticed a typo in your <zosconnect_localAdaptersConnectService element above: likkTaskReqContType should be linkTaskReqContType. In this case the default value pf "0" (CHAR) will be used, which is what you were requesting, so this would not have been the cause of the symptoms you see. I assume that your request and response container structures are all character fields.

     

    Regards, Sue

     

     

     

  • bayliss
    bayliss
    36 Posts

    Re: Getting an error while executing an API to access the channels and Containers module

    ‏2017-01-24T08:56:53Z  

    Hi Jibin,

    In response to your questions:
    1. Yes, the EXEC CICS GET CONTAINER(OUTPCONT) is executed by WOLA.
    2. The length of the request and response containers in the channel is determined from the information in the wsbind file.

    Please can you check the following:
    a) that when you ran the BAQLS2JS utility you specified the parameter REQMEM=INCOPY and RESPMEM=OUTCOPY (where, I am assuming from your attached module that, INCOPY is the copybook which defines the structure of your request container and OUTCOPY is the copybook which defines the structure of your request container).
    b) that the wsbind file generated by running BAQLS2JS with these parameters has been copied to the directory specified on the bindFileLoc attribute of your server.xml element zosconnect_zosConnectDataXform.

     

    I also noticed a typo in your <zosconnect_localAdaptersConnectService element above: likkTaskReqContType should be linkTaskReqContType. In this case the default value pf "0" (CHAR) will be used, which is what you were requesting, so this would not have been the cause of the symptoms you see. I assume that your request and response container structures are all character fields.

     

    Regards, Sue

     

     

     

  • JibinJacob
    JibinJacob
    30 Posts

    Re: Getting an error while executing an API to access the channels and Containers module

    ‏2017-01-30T14:37:44Z  
    • bayliss
    • ‏2017-01-24T08:56:53Z

    Hi Jibin,

    In response to your questions:
    1. Yes, the EXEC CICS GET CONTAINER(OUTPCONT) is executed by WOLA.
    2. The length of the request and response containers in the channel is determined from the information in the wsbind file.

    Please can you check the following:
    a) that when you ran the BAQLS2JS utility you specified the parameter REQMEM=INCOPY and RESPMEM=OUTCOPY (where, I am assuming from your attached module that, INCOPY is the copybook which defines the structure of your request container and OUTCOPY is the copybook which defines the structure of your request container).
    b) that the wsbind file generated by running BAQLS2JS with these parameters has been copied to the directory specified on the bindFileLoc attribute of your server.xml element zosconnect_zosConnectDataXform.

     

    I also noticed a typo in your <zosconnect_localAdaptersConnectService element above: likkTaskReqContType should be linkTaskReqContType. In this case the default value pf "0" (CHAR) will be used, which is what you were requesting, so this would not have been the cause of the symptoms you see. I assume that your request and response container structures are all character fields.

     

    Regards, Sue

     

     

     

    Thanks Sue.

    I have changed my container to BIT and handled the input data conversion in the module. Its working as expected now.

    but still i am getting the same error for CHAR container. i think its a codepage conversion issue. i am working on it. i will update here the progress.

    Once again thanks for the help.

     

    Regards,

    Jibin

  • bayliss
    bayliss
    36 Posts

    Re: Getting an error while executing an API to access the channels and Containers module

    ‏2017-01-30T17:07:38Z  

    Thanks Sue.

    I have changed my container to BIT and handled the input data conversion in the module. Its working as expected now.

    but still i am getting the same error for CHAR container. i think its a codepage conversion issue. i am working on it. i will update here the progress.

    Once again thanks for the help.

     

    Regards,

    Jibin

    Hi Jibin,

    Its good to hear that you have bit containers working.

    For char containers, please can you check that when you ran the BAQLS2JS utility to generate the wsbind file, that you specified the parameter: CCSID=1208

    Please see the comment from Alan "Re: How to define Channels and Containers in BAQLS2JS" in your previous post "How to define Channels and Containers in BAQLS2JS" which explains the differences in both BAQLS2JS and server.xml required for Char versus Bit containers.

    Regards, Sue