I have a use case of WMQ integration with API Gateway. In current setup we have IBM Datapower integrating with IBM Websphere MQ. In new setup, I want the same function to be performed by API Gateway. I am successfully able to PUT the message on WMQ, however the message PUT by API Gateway doesn't get processed by the listening APP, same message from Datapower gets processed by the listening APP. I can see both messages on the WMQ and also I see that they are picked for processing from the MQ by the listening APP.
Can someone share whats wrong with the same xml message PUT by API Gateway but not getting processed?
Below are the steps that I have performed to create API Gateway policy:
1) Created a SOAP web service policy on API Gateway.
2) Added the route via MQ assertion.
3) It is an MQ put request with no r
eply. It puts an xml message on the MQ.
4) Request is seen on the WMQ is as below when API Gateway puts the XML message:
****Message descriptor****
StrucId : 'MD ' Version : 2
Report : 0 MsgType : 8
Expiry : -1 Feedback : 0
Encoding : 273 CodedCharSetId : 819
Format : ' '
Priority : 0 Persistence : 0
MsgId : X'414D5120524157494E54303120202020EACA5A5DB982CD21'
CorrelId : X'000000000000000000000000000000000000000000000000'
BackoutCount : 0
ReplyToQ : ' '
ReplyToQMgr : 'RAWINT01 '
** Identity Context
UserIdentifier : 'mquser '
AccountingToken :
X'0000000000000000000000000000000000000000000000000000000000000000'
ApplIdentityData : ' '
** Origin Context
PutApplType : '28'
PutApplName : 'jar '
PutDate : '20190819' PutTime : '21394807'
ApplOriginData : ' '
GroupId : X'000000000000000000000000000000000000000000000000'
MsgSeqNumber : '1'
Offset : '0'
MsgFlags : '0'
OriginalLength : '-1'
**** Message ****
----------------------
through an MQGET call
message <<?xml version="1.0" encoding="UTF-8"?><ao:processBankEvents xmlns:ao=" http://ao.mytest.sample.com /" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><arg0><eventInfoList><eventData>This is test event</eventData><eventOutcome>SUCCESS</eventOutcome><eventSeqNbr>1</eventSeqNbr><eventSubType/><eventTimestamp>2019-03-28T08:15:30.504-0500</eventTimestamp><eventType>CD_APIG</eventType><eventUTC_UPTC/></eventInfoList><requestSourceId>TSTSRC</requestSourceId><requestUUID>TEST_CD_MATURITY_APIG</requestUUID></arg0></ao:processBankEvents>>
no more messages
Sample AMQSGET0 end
5) Same message when put by Datapower looks below on WMQ:
****Message descriptor****
StrucId : 'MD ' Version : 2
Report : 0 MsgType : 8
Expiry : -1 Feedback : 0
Encoding : 546 CodedCharSetId : 819
Format : 'MQSTR '
Priority : 0 Persistence : 0
MsgId : X'414D5120524157494E54303120202020EACA5A5DBD7DCD21'
CorrelId : X'000000000000000000000000000000000000000000000000'
BackoutCount : 0
ReplyToQ : ' '
ReplyToQMgr : 'RAWINT01 '
** Identity Context
UserIdentifier : 'mquser '
AccountingToken :
X'0130000000000000000000000000000000000000000000000000000000000006'
ApplIdentityData : ' '
** Origin Context
PutApplType : '6'
PutApplName : 'WebSphere Datapower MQClient'
PutDate : '20190819' PutTime : '21374122'
ApplOriginData : ' '
GroupId : X'000000000000000000000000000000000000000000000000'
MsgSeqNumber : '1'
Offset : '0'
MsgFlags : '0'
OriginalLength : '-1'
**** Message ****
----------------------
through an MQGET call
message <<?xml version="1.0" encoding="UTF-8"?>
<ao:processBankEvents xmlns:ao="http://ao.mytest.sample.com/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<arg0>
<eventInfoList>
<eventData>This is test event</eventData>
<eventOutcome>SUCCESS</eventOutcome>
<eventSeqNbr>1</eventSeqNbr>
<eventSubType/>
<eventTimestamp>2019-03-28T08:15:30.504-0500</eventTimestamp>
<eventType>CD_DPWR</eventType>
<eventUTC_UPTC/></eventInfoList>
<requestSourceId>TSTSRC</requestSourceId>
<requestUUID>TEST_CD_MATURITY_DPWR</requestUUID></arg0></ao:processBankEvents>>
no more messages
Sample AMQSGET0 end
------------------------------
API Platform Product Architect
DFS
Chicago, IL
------------------------------