cancel
Showing results for 
Search instead for 
Did you mean: 

Message split questions

Former Member
0 Kudos

Hi Guys!

First I need a confirmation for following assumption:

To create multiple messages of same type (without BPM) I set the inbound interface to 0..unbounded in the if-mapping and I also set the target message to 0..unbounded in the message mapping. If I want to create one message per let's say "ITEM", I map ITEM to the root node of the target message and there will be one message per ITEM. Is that right?

Then I have a question concerning the processing order:

Are the messages processed in the order they appear in the message mapping?

Last question:

Does the message split within the if-/ message mapping also work with synchronous processes and with jdbc adapter?

Thanks in advance!

Karsten

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Come on Guys, there is still a lot of reward points to assign.

Does none of you know about message splitting? Was my question too vague?

I really desperate. Currently working on a technicial design and considering several ways to fulfill the functional demands.

Message split within mapping is obviously not possible for synchronous scenarios, that's what I found out myself by using my rotten brain. But for consistency reasons it's very important for me to know if the messages are processed in the order they appear in the mapping (-test).

Thanks in advance! Every advice will be rewarded...

/Karsten

Former Member
0 Kudos

Hi, Karsten

My answer to your question: YES.

The message will be kept in order same as you see after the message mapping.

If you RWB to check how your message are splitted in adapter engine, you are going to see the QoS changed to EOIO.

Liang

Former Member
0 Kudos

Hi Liang,

Thanks a lot, that's a really helpful answer!

/Karsten

Former Member
0 Kudos

answering your second question

>>Does the message split within the if-/ message mapping also work with synchronous processes and with jdbc adapter?

well if you have multiple receivers,and you have a synchronous scenario,then you can't do it without BPM,you need to use correlation in BPM so that XI can associate the request-response pair for every receiver separately and not mix them up.

Thanx

Aamir

Former Member
0 Kudos

Karsten:

In anwsering your first question, it is 1:N multi-mapping scenario, noticed that your target message is just single type.

1. In your message mapping, go to "message" tab, change your target message to 0:unbounded

2. In you Interface mapping, change to inbound interface to 0:unbounded, mapping program need to be specify your message mapping

3. In your message mapping, you want each 'ITEM" in your source message to generate each target message:

you need to map: ITEM ---> Target_Message_Type.

Hope this answer your first question as well.

Liang

Former Member
0 Kudos

Thank's Aamir!

I thought I could avoid BPM but it looks like a decent architecture might require BPM

/Karsten

Former Member
0 Kudos

yeah,multiple synchronous receiver will need BPM as the correlation needs to be established between request and response.

you can check the below blog for BPM design

/people/prasadbabu.nemalikanti3/blog/2006/03/10/bpmsingle-sender-and-multiple-receivers-based-on-synchronous-exchangeswitch-part-1

Thanx

Aamir

Former Member
0 Kudos

Thanks Aamir, I guess my problem is solved now

Answers (3)

Answers (3)

Former Member
0 Kudos

>>If I want to create one message per let's say "ITEM", I map ITEM to the root node of the target message and there will be one message per ITEM. Is that right?

No,in this case you will have multiple Root nodes which is a invalid XML structure.you need to map the multiple occuring fields of sender to element right after root node(it will have occurence 0-unbounded,root always need to be 1-1),in case of idoc that field is IDOC

Thanx

Aamir

Former Member
0 Kudos

Hi Aamir,

okay you're right. If you choose 0:unbounded you get something like Messages (1:1)/Message1(1:1)/Root(0:unb.) where the first nodes are automatically created. But the "real" message will occure once for every "ITEM".

/Karsten

former_member181962
Active Contributor
0 Kudos

Hi Karsten,

I somehow doubt if your 1st assumption is right.

I think the cardinality of the root node of a message type is always 1:1.

Regards,

Ravi Kanth Talagana

Former Member
0 Kudos

Hi Ravi Kanth Talagana,

You can change the cardinality of the message under tab "Messages" in the message mapping. I have tested my mapping and it creates several messages. It's just that I don't know if there will really be several messages sent.

/Karsten

GabrielSagaya
Active Contributor
0 Kudos

In File Adapter Configuration

You are having an option Recordset per message=100,

assume if you are sending 304 records in a file, The message is splitted into 4 messages (100,100,100,4)

Former Member
0 Kudos

Hi Gabriel,

I use JDBC Adapter and I need one message/ insert to the database for every "ITEM" node in the source message.

/Karsten

Former Member
0 Kudos

Hi,

First one is right.where as Message split,u can use condtion in

configaration

reg,

suresh

Former Member
0 Kudos

Thanks for your answer Suresh!

I think conditions are not required in interface determination since I have only one interface (and one message).