Layer7 API Management

  • 1.  IBM MQ

    Posted Aug 02, 2017 11:01 AM

    User have a IBM MQ , I need to use API Gateway to make a request , the request is :

     

                <Header>
                    <ClientId>xxxx</ClientId>
                    <ClientDt>2017-07-12T09:36:12.161+08:00</ClientDt>
                    <TxnId>TTTT</TxnId>
                </Header>


                <SvcRq xsi:type="cics:TTTTSvcRqType">
                    <ACNO>AAAAAAAAA</ACNO>
                    <PSWD>PPPPPPPPP</PSWD>
                    <TYPE>T</TYPE>
                    <TYPEC>C</TYPEC>
                    <DATE>2017-07-12</DATE>
                    <TIME>xxxxx</TIME>
                </SvcRq>

     

    which assertion that I can use ? and how to setup the assertion properties ?



  • 2.  Re: IBM MQ
    Best Answer

    Broadcom Employee
    Posted Aug 02, 2017 02:06 PM

    Good afternoon,

     

    Documentation on setting up the MQ integration can be found here - Manage MQ Native Queues - CA API Gateway - 9.2 - CA Technologies Documentation. You can use either a set context variable assertion to hold the request to be pass through the Route via MQ Native or can be passed in through a HTTP call to the gateway using the Request message in the Route assertion.

     

    Sincerely,

     

    Stephen Hughes

    Director, CA Support



  • 3.  Re: IBM MQ

    Posted Aug 02, 2017 09:48 PM

    I can not understand how to set the a context variable  for multiple header with value or multiple properties with value

     

    ${request.mqnative.additionalheadernames}

    ${request.mqnative.alladditionalheadervalues}

     

     



  • 4.  Re: IBM MQ

    Broadcom Employee
    Posted Aug 02, 2017 11:42 PM

    From my review I'm not sure if it is possible to overwrite/add all the headers at once as the values for the context variables that you have listed are multi-value context variables. They are values separated with commas for parsing in an array. you can probably look to use the "Run Assertion for Each Item" branch that can have the Manage Transport Header/Properties set each one. (Run Assertions for Each Item Assertion - CA API Gateway - 9.2 - CA Technologies Documentation )

     

    Sincerely,

     

    Stephen Hughes

    Director, CA Support



  • 5.  Re: IBM MQ

    Posted Aug 03, 2017 12:44 AM

    The log show that the variable can't be settable.

    Do you have any sample for MQ put and get queue message that has multiple header and properties.



  • 6.  Re: IBM MQ

    Posted Aug 03, 2017 07:28 PM

    Hello,

    For passing a message into MQ you need to use Route via MQ assertion:https://docops.ca.com/ca-api-gateway/9-2/en/policy-assertions/assertion-palette/message-routing-assertions/route-via-mq-native-assertion. This assertion will take incoming message and pass it to a selected MQ destination.
    In order to add/modify/delete MQ message headers please use "Manage Transport Properties/Headers" assertion. It needs to be placed before the routing to modify request message.

     

     

    Sincerely,

    Julia K, QA



  • 7.  Re: IBM MQ

    Posted Aug 04, 2017 03:47 AM

    Hi Julia ,

    We add the Transport Properties/Header Properties , chose the type  HTTP Header or JMS Header , the log show No response expected from protected service.



  • 8.  Re: IBM MQ

    Posted Aug 04, 2017 01:40 PM

    Hi Jerry,

    The above log message is displayed when an outbound MQ destination on a gateway does not expect any reply:

    Also, please use HTTP Header, JMS type will not work for MQ headers.

    Could you please describe your use case in more details? E.g.

    - do you expect a response form a back-end server?

    - what kind of reply is expected?

    - what is required from a gateway (e.g. does the gateway listen on MQ destination, does it modify any request/response)?

     

    Thank you,

    Julia



  • 9.  Re: IBM MQ

    Posted Aug 07, 2017 12:32 AM

    Hi Julia ,

    My use case is Gateway should request a custom headers and properties , than MQ will response to Gateway.

     

    Below picture is my policy config ,and  the log still show No response expected from protected service.