Skip to Content
0
Former Member
Feb 13, 2009 at 01:31 PM

Spliting a Message to reuse an Integration Process made for a single one.

21 Views

Hi,

I have a Integration Process that works well for a XML message of the type:

<EMESSAGE>

<PERSON>

<TAG_1>

<TAG_2>

...

</PERSON>

</EMESSAGE>

My BPM process the data for the Person correctly.

Now I want to be able to tried more than one person per input message, some thing like:

<EMESSAGE>

<PERSON>

<TAG_1>

<TAG_2>

</PERSON>

<PERSON>

<TAG_1>

<TAG_2>

</PERSON>

<PERSON>

<TAG_1>

<TAG_2>

</PERSON>

</EMESSAGE>

I build a 1:n Interface Mapping that creates me the following structure:

<Messages>

<Message1>

<EMESSAGE>

<PERSON>

<TAG_1>

<TAG_2>

...

</PERSON>

</EMESSAGE>

</Message1>

<Message2>

<EMESSAGE>

<PERSON>

<TAG_1>

<TAG_2>

...

</PERSON>

</EMESSAGE>

</Message2>

<Message3>

<EMESSAGE>

<PERSON>

<TAG_1>

<TAG_2>

...

</PERSON>

</EMESSAGE>

</Message3>

</Messages>

But when I use a ForEach Block in my new BPM, it doesn't work if there is more then 1 person in the input. The error message I got is:

<?xml version="1.0" encoding="utf-8" ?> 
- <MappingTrace>
  <Trace level="1" type="T">Mapping-Namespace:http://domain.com/xi/domain_4</Trace> 
  <Trace level="1" type="T">Mapping-Name:IM_CPM_AbsSync_to_N_CPM_AbsSync</Trace> 
  <Trace level="1" type="T">Mapping-SWCV:3E235261F43111DDB40AC952C0A80C15</Trace> 
  <Trace level="1" type="T">Mapping-Step:1</Trace> 
  <Trace level="1" type="T">Mapping-Type:XSLT</Trace> 
  <Trace level="1" type="T">Mapping-Program:CPM_to_N_ContextPersonMessage</Trace> 
  <Trace level="3" type="T">Mapping has one input message.</Trace> 
  <Trace level="3" type="T">Dynamic Configuration Is Empty</Trace> 
  <Trace level="3" type="T">Multi mapping required.</Trace> 
  <Trace level="3" type="T">Creating XSLT mapping CPM_to_N_ContextPersonMessage.</Trace> 
  <Trace level="3" type="T">Load 3e235261-f431-11dd-b40a-c952c0a80c15, http://domain.com/xi/domain_4, -1, CPM_to_N_ContextPersonMessage.xsl.</Trace> 
  <Trace level="3" type="T">Search CPM_to_N_ContextPersonMessage.xsl (http://domain.com/xi/domain_4, -1) in swcv 3e235261-f431-11dd-b40a-c952c0a80c15.</Trace> 
  <Trace level="2" type="T">Call XSLT processor with stylsheet CPM_to_N_ContextPersonMessage.xsl.</Trace> 
  <Trace level="2" type="T">Returned form XSLT processor.</Trace> 
  <Trace level="3" type="T">XSLT transformation: CPM_to_N_ContextPersonMessage.xsl completed with 0 warning(s).</Trace> 
  <Trace level="3" type="T">Dynamic Configuration Is Empty</Trace> 
  <Trace level="1" type="T">Content Type application/xml</Trace> 
  <Trace level="1" type="T">No interface specified for parameter 2</Trace> 
  </MappingTrace>

Does someone have any idea or a suggestion on how to reuse my BPM that works for a single person?

Thanks in advance for your suggestions.

greg