cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with payload structure with message mapping split (1:N) without BPM

prasanthi_chavala
Active Contributor
0 Kudos

Hi All,

I have implemented proxy to JMS scenario where my source proxy message has multiple structures which need to split into separate messages per item while posting to target.

So i have used the simple solution of changing the message mapping to 1:N without going for BPM and completed the scenario which works fine while testing within PI. When i simulate the testing from source system, the interface is failing within PI because of mapping error.

The key point is... when i changed the occurence of message mapping 1:N , the message structure got added with two nodes as shown in the picture. But my payload from source is missing the wrapper (ie two nodes). I didnt understand why the message is not processing.

Can you please provide me some suggestions as how should i proceed here?

Thanks,

Prasanthi

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Prashanthi,

Multi mapping behaviour is like that, when ever you change occurance it adds two nodes.but when you run interface end to end then it works.

If you are testing message mapping then you have to add two nodes in request XML before testing.

run interface end to end then let us know the results.

Best Regards,

Raj

prasanthi_chavala
Active Contributor
0 Kudos

Hi Raja,

While doing testing in PI, i have manually adjusted the payload and it went fine. But when i am running the sceneria End to End...it is not going through.

I didnt understand why my message is not recognizing in end to end testing.

FYI: I am on Pi 7.3

Thanks,

Prasanthi

prasanthi_chavala
Active Contributor
0 Kudos

Hi Raj,

It is still giving error " Cannot create target element /ns0:Messages. Values missing in queue context. Target XSD require" in the moni..

Do i need do any modifications in my mapping?

Thanks,

Prasanthi

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi ,

Please paste your mapping screenshot,

i think signature tab you have occurance of target element may be 1 hence this is giving error.. better to change to 0.

Regards,

Raj

prasanthi_chavala
Active Contributor
0 Kudos

Hi Raj,

I have given occurance as 0 to unbounded only...below are the screenshots and just now i have adjusted the mapping for message and message1 field and this time in the moni only i could see mesasge-->message1 structure and there is no other data generated.

But wen i tested MM & OM objects with giving node message and message1 it is working fine and i could see my expected output.

Below is the screenshots:

And now the output message is coming as below:

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

- <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1 />

</ns0:Messages>

Could you please tell me where i am going wrong?

Thanks,

Prasanthi

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Prashanthi,

Your mapping looks correct, i dont see anything wrong.

if condition not satisfies then BAPI will not gets call.

Regards,

Raj

prasanthi_chavala
Active Contributor
0 Kudos

Raj,

When i am  individually testing the objects it is working fine but End 2 End...it is just giving the two mesasge nodes alone...:(

Do u have any other suggestions?

Thanks,

Prasanthi

prasanthi_chavala
Active Contributor
0 Kudos

Hi Raj,

I found the reason why it is not working.....:)

Since i am using proxy in Abap stack at source system so multimapping without BPM is not possible in ABAP.

So i am planning to move the proxy to java stack and test my scenario.

Thanks,

Prasanthi

former_member181985
Active Contributor
0 Kudos

Prasanthi Chavala wrote:

Hi Raj,

I found the reason why it is not working.....:)

Since i am using proxy in Abap stack at source system so multimapping without BPM is not possible in ABAP.

So i am planning to move the proxy to java stack and test my scenario.

Thanks,

Prasanthi

Does not make any sense.Since your scenario is PRoxy to JMS, and the multimapping splitting is happening for JMS, it should work. Please paste the incoming payload to XI from Proxy

- praveen

prasanthi_chavala
Active Contributor
0 Kudos

Hi Praveen,

The productactivitynotification message is coming from source SAP system through ABAP client proxy and i need to split the message per item while posting the message to target Biztalk system. I know JMS adapter at receiver channel will support the multimapping without BPM.

Since my source proxy is on ABAP stack, the scenario is not working as the message from source SAP system is hitting directly to PI integration engine.

So i am thinking to use soap adapter with xi messsage protocal at sender side in PI so that java stack is involved making my scenario works without BPM. Please correct me if my understanding is wrong.

THanks,

Prasanthi

former_member181985
Active Contributor
0 Kudos

>>Since my source proxy is on ABAP stack, the scenario is not working as the message from source SAP system is hitting directly to PI integration engine.

No, it has no relation how the message coming to XI/PI integration engine, since your mapping program is formulates bulk message for splitting at receiver end (JMS). When multimapping program is working in Test Tab functionality mode, it has to work end to end as well. Take the incoming payload from Proxy and check the message structure against the one in Test instance structure in mapping program. Add the extra two nodes properly to the incoming message and test it in message mapping test tab.


>>So i am thinking to use soap adapter with xi messsage protocal at sender side in PI so that java stack is involved making my scenario works without BPM. Please correct me if my understanding is wrong.

Yes, PI7.3 SOAP Sender Adapter (with XI3.0 protocol) supports multi-mapping, but I would still recommend to use the classical multi-mapping concept due to the following reasons.

1. PI7.3 SOAP sender adapter splits each messages per item and delegates to Integration Engine if you are using regular ID configuration, meaning it will treat each message as a separate transaction and persists each message at various pipeline stages leading to performance issues.

2. The above concept if do using ICO configuration, I suspect (I am not sure) it will still use java pipeline stages for message persistance leading to performance.

3. Using classical configuration, the message will be as one unit (as bulk message) until it reaches Adapter Engine (JMS) where splitting happens and hence this is a better performance approach.

I recommend to go ahead with point 3 approach.

Best Regards,

Praveen Gujjeti


rajasekhar_reddy14
Active Contributor
0 Kudos

Completely agree with Praveen.

prasanthi_chavala
Active Contributor
0 Kudos

Hi Praveen,

Thanks for detailed explaination.

When i have tested in MM tab by adding extra two message node ....it is working fine. Below is the screenshot:

Below is my source message in moni when testing End to end:

But output is not coming properly and i dont see any payload data inside my message nodes. Below is my screenshot:

Can you please help me where i am going wrong?

THanks,

Prasanthi

prasanthi_chavala
Active Contributor
0 Kudos

Hi Praveen/Raj,

I am getting the expected output correctly now..after changing the occurance in OM object.Thanks alot for your guidance.

Regards,

Prasanthi

former_member181985
Active Contributor
0 Kudos

Glad to hear

Answers (0)