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
  • 8 replies
  • Latest Post - ‏2017-03-06T14:14:42Z by JibinJacob
JibinJacob
JibinJacob
30 Posts

Pinned topic How to define Channels and Containers in BAQLS2JS

‏2016-10-26T08:59:09Z |

Hi,

Created a BAQLS2JS JCL with COMMAREA. Now we have got a  requirement to use CHANNELS and CONTAINERS in COBOL module. As per the z/OSConnect Document, define PGMINT=CHANNEL, in BAQLS2JS.  do we have to specify the container name?

Please provide the sample BAQLS2JCL which is using Channels and Conatiners and Corresponsing COBOL program also. That will be very helpful.

Thanks,

Jibin

  • bayliss
    bayliss
    37 Posts
    ACCEPTED ANSWER

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-12-09T11:26:31Z  

    Hi Andy,

     

    I am not gettng the Values in the Conatiner, which is defined in the module. Please find teh below steps which i have done.

     

    1. Executed the BAQLS2JCL , as its given above. Compted with RC=1024

    2. Created the API with.sar File and deployed it

    3. Updated the changes in Server.xml.

      <zosconnect_localAdaptersConnectService id="testcontainer"

       registerName="CIC3"

       serviceName="APITEST2"

       useCICSContainer="true"

       linkTaskChanID="TESTCHANNEL"

       linkTaskChanType="0"

       linkTaskReqContID="INPUTCONT"

       linkTaskRspContID="OUTPUTCONT"

       connectionFactoryRef="wolaCF" />

    4. Triggered the URL and tried to execute the module in DEBUG mode. The Containers fields are coming as EMPTY.

     

    Please let me know your thoufhts about this.

     

    Thanks,

    Jibin

     

    Hi Jibin,

    You need to change 2 of the attribute names specified in your server.xml element zosconnect_localAdaptersConnectService, as described in the example above posed by Alan on Oct 31:

    1. replace: linkTaskReqContID="INPUTCONT" with: linkTaskChanReqContID="INPUTCONT"
    2. replace: linkTaskRspContID="OUTPUTCONT" with: linkTaskChanRespContID="OUTPUTCONT"

    For more information of the attribute values to use, please see "Method 2: Use a channel name of your choice to flow a single payload container with the HTTP context containers." for element "zosconnect_localAdaptersConnectService" in the "Configuration elements" topic of the open beta Knowledge Center https://www.ibm.com/support/knowledgecenter/SS4SVW_beta/com.ibm.zosconnect.doc/reference/config_elements.html

     

    Regards

    Sue

     

  • Alan Hollingshead
    Alan Hollingshead
    58 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-10-27T15:58:10Z  

    Hi Jibin,

    Please be aware that there is a current restriction in that only a single user container can be specified in a channel.

    Will your CICS program be using a BIT or CHAR container?

    Thanks, Alan.

  • JibinJacob
    JibinJacob
    30 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-10-28T18:22:24Z  

    Hi Jibin,

    Please be aware that there is a current restriction in that only a single user container can be specified in a channel.

    Will your CICS program be using a BIT or CHAR container?

    Thanks, Alan.

    Hi Alan,

    Thanks for your reply.

    Ok. So that means only one conatiner can be specified in a channel. Is that correct?

    Cobol module is using CHAR Conatiner.

    Regards,

    Jibin

     

     

  • Alan Hollingshead
    Alan Hollingshead
    58 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-10-31T13:30:14Z  

    Hi Alan,

    Thanks for your reply.

    Ok. So that means only one conatiner can be specified in a channel. Is that correct?

    Cobol module is using CHAR Conatiner.

    Regards,

    Jibin

     

     

    Hi Jibin,

    Yes, with the code available to the customer today, that is correct. We do understand the requirement to support multiple containers in a channel.

    Please ensure you are using the latest open beta code (minimum level: BAQR0000I: z/OS Connect Enterprise Edition open beta (20161004-1612) )

    The following sample information uses a simple COBOL copybook called PADCOPY:

        01 pad-chars          pic X(10).  <---------- 01 starts in column 8

    Configure your BAQLS2JS, for example:

    //STDPARM DD *                                          
    PGM <open beta install_dir>/bin/baqls2js             
    LOGFILE=<user_dir>/<user log file>               
    MAPPING-LEVEL=4.0                                       
    JSON-SCHEMA-REQUEST=<user_dir>/schemas/<your_request_file>.json  
    JSON-SCHEMA-RESPONSE=<user_dir>/schemas/<your_response_file>.json  
    WSBIND=<user_dir>/bindfiles/<your_bindfile>.wsbind
    PDSLIB=//<PDS location of copybook>                           
    PGMNAME=<CICS program name>                                        
    REQMEM=<COBOL copybook>
    RESPMEM=<COBOL copybook>
    PGMINT=CHANNEL                                          
    LANG=COBOL                                              
    CCSID=1208             <------------------------------------------------------------------------------------------- for CHAR container
    SERVICE-ARCHIVE=<user_dir>/bindfiles/<your_sar_file>.sar        
    SERVICE-NAME=<your_service_name> 

    When you submit the JCL, you will get a warning and rc 1024. This is because the CCSID is not EBCDIC. For a CHAR container the CCSID must be ASCII. You can ignore the warning. This is a known issue.

    In server.xml define the following:

     <zosconnect_localAdaptersConnectService id="<your_id>"
               registerName="<your_register_name>"
               serviceName="<your_service_name>"
               useCICSContainer="true"
               linkTaskChanID="your_channel_name>" <------------- as used by the CICS program. If CICS program does not use a channel name, choose your own name.
               linkTaskChanType="0" <------------------------------------- for CHAR containers
               linkTaskChanReqContID="<your_container_name>"       <--------- as defined in the COBOL copybook
               linkTaskChanRespContID="<your_container_name>"    <--------- as defined in the COBOL copybook
               connectionFactoryRef="<your_wolaCF" />

    Definitions of all these parameters are in the latest open beta knowledge center.

    Hope this helps.

    Alan.

  • JibinJacob
    JibinJacob
    30 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-11-08T10:34:22Z  

    Hi Jibin,

    Yes, with the code available to the customer today, that is correct. We do understand the requirement to support multiple containers in a channel.

    Please ensure you are using the latest open beta code (minimum level: BAQR0000I: z/OS Connect Enterprise Edition open beta (20161004-1612) )

    The following sample information uses a simple COBOL copybook called PADCOPY:

        01 pad-chars          pic X(10).  <---------- 01 starts in column 8

    Configure your BAQLS2JS, for example:

    //STDPARM DD *                                          
    PGM <open beta install_dir>/bin/baqls2js             
    LOGFILE=<user_dir>/<user log file>               
    MAPPING-LEVEL=4.0                                       
    JSON-SCHEMA-REQUEST=<user_dir>/schemas/<your_request_file>.json  
    JSON-SCHEMA-RESPONSE=<user_dir>/schemas/<your_response_file>.json  
    WSBIND=<user_dir>/bindfiles/<your_bindfile>.wsbind
    PDSLIB=//<PDS location of copybook>                           
    PGMNAME=<CICS program name>                                        
    REQMEM=<COBOL copybook>
    RESPMEM=<COBOL copybook>
    PGMINT=CHANNEL                                          
    LANG=COBOL                                              
    CCSID=1208             <------------------------------------------------------------------------------------------- for CHAR container
    SERVICE-ARCHIVE=<user_dir>/bindfiles/<your_sar_file>.sar        
    SERVICE-NAME=<your_service_name> 

    When you submit the JCL, you will get a warning and rc 1024. This is because the CCSID is not EBCDIC. For a CHAR container the CCSID must be ASCII. You can ignore the warning. This is a known issue.

    In server.xml define the following:

     <zosconnect_localAdaptersConnectService id="<your_id>"
               registerName="<your_register_name>"
               serviceName="<your_service_name>"
               useCICSContainer="true"
               linkTaskChanID="your_channel_name>" <------------- as used by the CICS program. If CICS program does not use a channel name, choose your own name.
               linkTaskChanType="0" <------------------------------------- for CHAR containers
               linkTaskChanReqContID="<your_container_name>"       <--------- as defined in the COBOL copybook
               linkTaskChanRespContID="<your_container_name>"    <--------- as defined in the COBOL copybook
               connectionFactoryRef="<your_wolaCF" />

    Definitions of all these parameters are in the latest open beta knowledge center.

    Hope this helps.

    Alan.

    Thanks Alan.

  • Andy_Armstrong
    Andy_Armstrong
    1 Post

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-12-01T13:38:00Z  

    Thanks Alan.

    @JibinJacob

    Have you been able to get a channels and containers application exposed via zOS Connect EE with this support? 

  • JibinJacob
    JibinJacob
    30 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-12-09T08:48:14Z  

    Hi Andy,

     

    I am not gettng the Values in the Conatiner, which is defined in the module. Please find teh below steps which i have done.

     

    1. Executed the BAQLS2JCL , as its given above. Compted with RC=1024

    2. Created the API with.sar File and deployed it

    3. Updated the changes in Server.xml.

      <zosconnect_localAdaptersConnectService id="testcontainer"

       registerName="CIC3"

       serviceName="APITEST2"

       useCICSContainer="true"

       linkTaskChanID="TESTCHANNEL"

       linkTaskChanType="0"

       linkTaskReqContID="INPUTCONT"

       linkTaskRspContID="OUTPUTCONT"

       connectionFactoryRef="wolaCF" />

    4. Triggered the URL and tried to execute the module in DEBUG mode. The Containers fields are coming as EMPTY.

     

    Please let me know your thoufhts about this.

     

    Thanks,

    Jibin

     

  • bayliss
    bayliss
    37 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2016-12-09T11:26:31Z  

    Hi Andy,

     

    I am not gettng the Values in the Conatiner, which is defined in the module. Please find teh below steps which i have done.

     

    1. Executed the BAQLS2JCL , as its given above. Compted with RC=1024

    2. Created the API with.sar File and deployed it

    3. Updated the changes in Server.xml.

      <zosconnect_localAdaptersConnectService id="testcontainer"

       registerName="CIC3"

       serviceName="APITEST2"

       useCICSContainer="true"

       linkTaskChanID="TESTCHANNEL"

       linkTaskChanType="0"

       linkTaskReqContID="INPUTCONT"

       linkTaskRspContID="OUTPUTCONT"

       connectionFactoryRef="wolaCF" />

    4. Triggered the URL and tried to execute the module in DEBUG mode. The Containers fields are coming as EMPTY.

     

    Please let me know your thoufhts about this.

     

    Thanks,

    Jibin

     

    Hi Jibin,

    You need to change 2 of the attribute names specified in your server.xml element zosconnect_localAdaptersConnectService, as described in the example above posed by Alan on Oct 31:

    1. replace: linkTaskReqContID="INPUTCONT" with: linkTaskChanReqContID="INPUTCONT"
    2. replace: linkTaskRspContID="OUTPUTCONT" with: linkTaskChanRespContID="OUTPUTCONT"

    For more information of the attribute values to use, please see "Method 2: Use a channel name of your choice to flow a single payload container with the HTTP context containers." for element "zosconnect_localAdaptersConnectService" in the "Configuration elements" topic of the open beta Knowledge Center https://www.ibm.com/support/knowledgecenter/SS4SVW_beta/com.ibm.zosconnect.doc/reference/config_elements.html

     

    Regards

    Sue

     

  • JibinJacob
    JibinJacob
    30 Posts

    Re: How to define Channels and Containers in BAQLS2JS

    ‏2017-03-06T14:14:42Z  
    • bayliss
    • ‏2016-12-09T11:26:31Z

    Hi Jibin,

    You need to change 2 of the attribute names specified in your server.xml element zosconnect_localAdaptersConnectService, as described in the example above posed by Alan on Oct 31:

    1. replace: linkTaskReqContID="INPUTCONT" with: linkTaskChanReqContID="INPUTCONT"
    2. replace: linkTaskRspContID="OUTPUTCONT" with: linkTaskChanRespContID="OUTPUTCONT"

    For more information of the attribute values to use, please see "Method 2: Use a channel name of your choice to flow a single payload container with the HTTP context containers." for element "zosconnect_localAdaptersConnectService" in the "Configuration elements" topic of the open beta Knowledge Center https://www.ibm.com/support/knowledgecenter/SS4SVW_beta/com.ibm.zosconnect.doc/reference/config_elements.html

     

    Regards

    Sue

     

    Its working.

     

    Thanks Sue.