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 ?
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.
Director, CA Support
I can not understand how to set the a context variable for multiple header with value or multiple properties with value
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 )
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.
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.
Julia K, QA
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.
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)?
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.