cancel
Showing results for 
Search instead for 
Did you mean: 

Response from third party(bank) is not mapping to the response structure

Former Member
0 Kudos

Hello Experts,

I have sync scenario ABAP proxy to HTTP_AAE, I am triggering the scenario from ABAP proxy test tab called "service consumer display" by pasting the req payload there. Request is coming in PI, from PI I have done the java mapping to remove all the ns0, and xml namespace and MTs tags, so its just the actual xml fields without any MT, I mean message types tag.

Bank is also sending response as just the actual XML fields without any extra tags. But the structure which I have created for response contains the MTs and ns0 tags.

Consequently I believe, the repose from bank is not able to map to the response structure created in PI, however the the response which bank is sending I am able to see in SXMB_MONI. But again I do not see any "response message mapping steps " in any of the pipelines trace of SXMB_MONI, even though I have done simply one to one mapping for "response from bank to Proxy response" as my both the structure are same. please see the structure which I have defined in PI and the xml which I am reeving from bank.

Also I believe not all the pipeline processing steps are visible in PI for inbound processing, though I have defined the parameter "TRACE_LEVE" as 3.

Please see the attached screenshot from MONI. moreover the type of main document is "MainDocument ( MainDocument ( application/octet-stream )  ) " , what does it mean?

At last response is not reaching in ECC, rather its remains in PI MONI with "Log version" status, and in ECC its gets times out.

Question

1- Will  repose from bank map with the defined response structure in PI, even if the response from bank is just xml with actual field, whereas PI structure have few extra tags like MTs and ns0?

2- How can I debug whether response message mapping has been called or not during processing, I can see the request message mapping in trace, not the response MM.

3- How to overcome this kind of error, Please suggest.

Response XML from bank in SXMB_MONI -

In the below xml from bank <PaymentInfoResponse> tag can repeat multiple times, so in PI I have defined this tag as 1..unbounded.

<?xml version="1.0" ?>

- <PaymentInfoMessageResponse>

- <PaymentInfoResponse>

  <TransactionType>940</TransactionType>

  <SequenceNum>0</SequenceNum>

  <ReceiptTime>2014-04-08T00:43:28</ReceiptTime>

  <ProcessStatus>1</ProcessStatus>

  <Comment>N/A</Comment>

  <TransactionData>:20:MT940-0804201401 :25:3020375009940 :28C:092/0001 :60F:C140402SAR2093927,71 :62F:C140402SAR2093927,71 -</TransactionData>

  <CompanyCode>SATORP</CompanyCode>

  </PaymentInfoResponse>

- <PaymentInfoResponse>

  <TransactionType>940</TransactionType>

  <SequenceNum>1</SequenceNum>

  <ReceiptTime>2014-04-08T00:43:28</ReceiptTime>

  <ProcessStatus>1</ProcessStatus>

  <Comment>N/A</Comment>

  <TransactionData>:20:MT940-0804201401 :25:3540063440440 :28C:092/0001 :60F:C140402USD4982581,72 :62F:C140402USD4982581,72 -</TransactionData>

  <CompanyCode>SATORP</CompanyCode>

  </PaymentInfoResponse>

- <PaymentInfoResponse>

  <TransactionType>940</TransactionType>

  <SequenceNum>2</SequenceNum>

  <ReceiptTime>2014-04-08T00:43:30</ReceiptTime>

  <ProcessStatus>1</ProcessStatus>

  <Comment>N/A</Comment>

  <TransactionData>:20:MT940-0804201401 :25:3540063443840 :28C:092/0001 :60F:D140402EUR9,42 :61:1404020402C19,42NSTO109//SWEEPINGPRO :86:SCHEDULED TRANSFER ECORP CHANNEL :61:1404020402D19,42NCHGAUTO-FEE-000007//114 :86:BANK FEES/COMMISSIONS AUTO-FEE-0 :62F:D140402EUR9,42 -</TransactionData>

  <CompanyCode>SATORP</CompanyCode>

  </PaymentInfoResponse>

  <StatusCode>OK</StatusCode>

  <StatusDetail>OK</StatusDetail>

  <ResponseItemCount>3</ResponseItemCount>

  </PaymentInfoMessageResponse>

Response Structure Defined in PI


<?xml version="1.0" encoding="UTF-8"?>

<ns0:MT_HTTPResp_MT940 xmlns:ns0="http://accountstatement/MT940">

   <PaymentInfoMessageResponse>

      <PaymentInfoResponse>

         <TransactionType></TransactionType>

         <SequenceNum></SequenceNum>

         <ReceiptTime></ReceiptTime>

         <ProcessStatus></ProcessStatus>

         <Comment></Comment>

         <TransactionData></TransactionData>

         <CompanyCode></CompanyCode>

      </PaymentInfoResponse>

      <StatusCode></StatusCode>

      <StatusDetail></StatusDetail>

      <ResponseItemCount></ResponseItemCount>

   </PaymentInfoMessageResponse>

</ns0:MT_HTTPResp_MT940>

Thanks,

Farhan

Accepted Solutions (1)

Accepted Solutions (1)

former_member184720
Active Contributor
0 Kudos

Hi Farhan - Your actual response should match with the structure defined in PI.

So create a datatype, Message type according to the response from Bank

While creating the message type, remove the XML namespace value..(keep it empty)

and then test..

Former Member
0 Kudos

Hi Hareesh,

Thanks a lot for the help. I have tried with removing the xml namespace, still the same result. I believe, the problem is with MTs tag in response message structure, bank xml data is trying to map with the response structure in PI, but when its finding the MTs tag I believe then its not mapping, and directly its passing the response in SXMB_MONI without any mapping.

My question is how can I define my response structure without the MTs tagm, I mean same as what I am receiving from bank.

Also I tried with without any mapping in response structure, I mean I used only one Message type for "response from bank" to "response to ECC" , without xml namespace, in this case I am able to receive the response in ECC, but there is exception called "PARSE_APPLICATION_DATA Error during XML => ABAP
conversion: Response Message; CX_ST_MATCH_ELEMENT in
" while receiving response, and when I go and see the logs, it says "System expected element 'MT_Response_MT940_Test'" , as its try to match with the defined structure in PI.

Please experts help me, so my question is how can I avoid the MTs tag in my response structure, I just want to define my response structure in PI same as bank is sending me the data in xml tag, without any MTs tag.

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - Did you check my screenshot.

That is message type itself.. While creating the message type don't give prefix MT etc.

Just create both message type and data type names as "PaymentInfoMessageResponse". Refer to my screenshot provided earlier..

Former Member
0 Kudos

Sorry Hareesh. I didn't notice that I need to create Data type also with "PaymentInfoMessageResponse".

Thanks you let me try.

Regards,

Farhan

Former Member
0 Kudos

Thanks a ton Hareesh. the issue has been resolved now. As you suggested, create both message type and data type names as "PaymentInfoMessageResponse", by doing this also its working. Also we I tried with Java mapping to attach the tag, which ECC was complaining about, its working in that way as well.

Thanks,

Farhan

Answers (0)