Skip to Content
0
Former Member
Dec 16, 2008 at 09:36 PM

message mapping with signature changed

251 Views

Hello,

I have a mapping whose incoming and outgoing message has the same message type, let's say the message type for both in and out message is *MT_Material *. The mapping basically copy all data from in message to out message, however, the out message is only created based on certain condition. Therefore I changed the signature to define the Occurance of the out message as 0..1 while the in message has occurance of 1.

Things work fine, out message only contains data when the condition is fullfilled. However the mapping program expects incoming message like;

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

http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:MT_Material xmlns:ns1="http://mynamespace">

<MatNo>123345</MatNo>

<MatText>

<Language>en</Language>

<Text>esx</Text>

</MatText>

<MatText>

<Language>fr</Language>

<Text>esxfr</Text>

</MatText>

</ns1:MT_Material>

</ns0:Message1>

</ns0:Messages>

Note the xml tags in bold are needed because of the signature change (occurance change). However the outbound interface is based on the message type of MT_Material, thus the sender will NOT send the xml tags in bold, rather following message is sent:

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

<ns0:MT_Material xmlns:ns1="http://mynamespace">

<MatNo>123345</MatNo>

<MatText>

<Language>en</Language>

<Text>esx</Text>

</MatText>

<MatText>

<Language>fr</Language>

<Text>esxfr</Text>

</MatText>

</ns0:MT_Material>

Message in this format is NOT expected by the mapping program with changed signature, thus mapping is does NOT result in the right result.

So what should I do with it? looks like change signature doesn't make any sense because it expects different outbound message format as the one without signature changed.

Basically mapping is PI internal stuff, the sender should not be aware of it, thus sender should just send a message based on the message interface which is based on MT_Material.

what do you thnk of this?

Any