cancel
Showing results for 
Search instead for 
Did you mean: 

Mulitiple receivers does not work

Former Member
0 Kudos

Hi Expert,

I have simple scenario where I forward message to 2 receivers. In the receiver determination I enter receiver A and receiver B without any condition. However when I run the scenario, I got error during Receiver Identification. If I only put one receiver, either A or B in the receiver determination, I have no problem. Do you guys know why this happens?

When I use only one receiver, the Receiver Identification trace looks like:

<Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>

<Trace level="1" type="T">Cache Content is up to date</Trace>

<Trace level="2" type="T">Start without given receiver</Trace>

<Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>

<Trace level="2" type="T">Check conditions for rule line no. 1</Trace>

<Trace level="2" type="T">...valid Receiver w/o Condition: - BS_MQ</Trace>

<Trace level="2" type="T">No Receiver found behaviour: 0</Trace>

<Trace level="2" type="T">Number of Receivers:1</Trace>

However when I use 2 receivers, the trace looks like:

<Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>

<Trace level="1" type="T">Cache Content is up to date</Trace>

<Trace level="2" type="T">Start without given receiver</Trace>

<Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>

<Trace level="2" type="T">Check conditions for rule line no. 1</Trace>

<Trace level="2" type="T">...valid Receiver w/o Condition: - BS_MRI</Trace>

<Trace level="2" type="T">Check conditions for rule line no. 2</Trace>

<Trace level="2" type="T">...valid Receiver w/o Condition: - BS_MQ</Trace>

<Trace level="2" type="T">No Receiver found behaviour: 0</Trace>

As you can see in the second case there is no trace like:

<Trace level="2" type="T">Number of Receivers:1</Trace> which is posted in the case 1.

Is there other configuration needed to get multiple receivers work?

Thanks

jayson

Edited by: Jayson Xiao on Sep 10, 2008 4:53 PM

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member192295
Active Contributor
0 Kudos

Hi,

I think u have configured both receivers in same service that why it is getting error. Better to take two business services/business system for receivers. One sender agreement is enough but need two receiver agreement and receiver determination & interface determination.

or If u want send data to two receivers better to choose multi mapping it will work easily.

Former Member
0 Kudos

Hi Nallam, as you said, I think it's better off to use multiple mapping to split message. But I still have a question. In IR I defined a multi-mapping which map one message (interface) to 2 message (interfaces). In ID, I need first configure receiver determination, then interface determination. So how many receivers I should enter? one or two? (I need to send to two receivers), because for each receiver you would need to configure interface determination. But since the mapping is to split one msg to two, how can I configure to link each splitted message to one receiver in ID?

Anybody can help me out here?

thanks

Jayson

former_member192295
Active Contributor
0 Kudos

HI,

Receiver channels depends on how many files you want at receiver end. Meanwhile configure receiver & interface determination also.

I hope now clear

Former Member
0 Kudos

Hi Nallam,

I think you didn't understand what I meant. In ID, when configuring receiver determination, you need to enter one or more receivers (i.e. business service), then in the bottom part of the same screen, for each entered receiver, you define the interface determination, receiver agreement etc.

Basically I figured out, that to send one msg to multiple receivers with multi-mapping, you need a dummy business service which you entered as receiver in the receiver determination, then you use the multi-mapping as interface determination, then for each outcoming interface you define different receiver agreement/communication channel which will send the two splitted messages to two different receivers. So the key here is to enter a dummy business service in the receiver determination.

So the scenario includes, one sender agreement, one receiver determination, one interface determination with multi-mapping, two receiver agreements and two communication channel.

Is this correct cofiguratoin?

Thanks

Jayson

former_member192295
Active Contributor
0 Kudos

HI,

In Interface determination we need to choose Enchance type interface determination by default it is standard.

In id window find below components

1. One business Service

2. One sender Channel

3. 2 Receiver channels

4. One Receiver Determination

5. One Interface Determination

6. One sender agreement

7. two Receiver agreement

Whenever we choose multi mapping technique we need to choose interface determination type Enhanced. I hope now clear

Former Member
0 Kudos

Hi Nallam,

yes, that's exactly what I have in my ID.

Points awarded.

Thanks

Jayson

Former Member
0 Kudos

hi,

for the second reciever plz use one more Business system with other communication channel, so that u r problem will be solved.

i think u r not using multi mapping.. if u r using.. go thru this blog...

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

Thanks,

Madhav

Note:Points If useful

Former Member
0 Kudos

Hi,

First try to give any condition and check out whether the receivers are identified.

If that is working properly, then you can check by without specifying any condition.

Regards,

Krish

Former Member
0 Kudos

Hi Krish

if I provide different condition for the 2 receivers, and try the scenario with the conditions, it works with each receiver (in this case, the message is only sent to one receiver based on the condition). However if I put same condition for both receiver, I got same error as before. What can it be?

Thanks

Jayson

Former Member
0 Kudos

Hi Jayson,

What is your scenario?

I assume you are not using Multi mapping or BPM.

Have you configured your scenario using Configurator or have you done it manually?

if you have done it manually, check following:

1. 1 Receiver determination ( Same sender, same sender Interface and 2 receivers - )

2. There must be 2 Interface determinations and 2 receiver agreements

3. Do a CPA cache refresh once..

Cross check each Interface determination, Receiver determination and receiver agreements and verify the MI.

Regards,

Venkat.

Former Member
0 Kudos

Hi Venkat,

I do not use BPM.

I manually configured the Integration Scenario. Since same interface used for both receivers, I only configured one interface determination, but 2 receiver agreements/communication channels.

I just have a feeling that an integration scenario can only have one receiver in the runtime, though multiple recievers can be configured, but condition must be assigned which leads to only one valid receiver in the runtime. If there are more then one valid receivers in the runtime, PI won't send the message to any reciever. Is this conclusion correct? Otherwise I jsut can't understand why my scenario does not work.

Thanks

Jayson

Former Member
0 Kudos

for synchronous scenarios: Yes - only one receiver at runtime

but you can have multiple receivers for asynchronous scenarios

Thanks,

Beena.

Former Member
0 Kudos

Hi Jayson,

What is the scenario ?

Is it asynch or synch?

You are supposed to have 2 interface determinations.

If you open Interface determination tab, you will see each interface determination in this format....

Sender Service | Sender MI | Receiver Service

since the receiver service differs in each case, you are supposed to have 2 Interface determinations.

Regards,

Venkat.

Former Member
0 Kudos

Hi Beena,

it was synchronous interface. Anyway, I've created a new scenario with asynchronous communication. Still same behavior as synchronous communication. Any clue?

Hi Venkat

though I don't see a second interface determination under the interface determination tab, but when I tried to create a new one for my scenario, it says that the object already exists. I think it was created when I started my scenario from receiver determination down to receiver agreement. (I create rec. determ. first, then from there I configured all those necessary related objects while defining the receiver determination).

so, you guys have any other clue?

Thanks

jayson

VijayKonam
Active Contributor
0 Kudos

As long as you have two separate inbound interfaces, you should be able to create 2 interface determinations. Multiple receiver scenarios only work with Asyn mode of communication.

VJ

hemant_chahal
Contributor
0 Kudos

Hello if your problem is to send same message to two receivers and then again do interface determination.

you can go ahead like this:

1) create a sender agreement. which is common for both receiver services.

2) now if you are using two Configuration Scenarios for two receivers then assign this sender agreement to other Scenario as well.

3) If you are working in one Configuration Scenario then you need to create a receiver determination with two receivers (simple Receiver determination if you already know your receivers). If you want to detect them at runtime then Extended.

In extended you have to use mapping with receiver interface in BASIS S/W component.

refer this,

Now if you are going with simple Receiver determination that is you already know your receivers, and you want both them to get messages. dont put condition and mention both in the receiver determination.

Create two Interface determinations.

Note that the sender agreement is one.

If you want to reuse the receiver interface for both receivers then assign the receiver interface in second receiver service and then go ahead with the interface determination.

I dont think you will face any problem.

Former Member
0 Kudos

Hi Hemant,

theoretically that should work. Without condition, the message should be sent to mutliple receivers. However when I tried it, it just does not work as I stated in the above posts. One guy said this scenario does not work with synchronous communication, only with async.. However I tried asyn. commu., it still doesn't work, error occur during Receiver Identification as I mentioned in my first post.

Unless you've done it before, you might not assume it will work. However with condition, message can be sent to one of the confiugred receivers, but if more than one receivers meet the condition, same error occurs. So you can't really send messages coming from the same outbound message to two receivers at runtime. Maybe that is only possible with BPM or multi-mapping which I haven't yet personally tried.

Jayson

Edited by: Jayson Xiao on Sep 11, 2008 4:29 PM

Edited by: Jayson Xiao on Sep 11, 2008 4:31 PM

hemant_chahal
Contributor
0 Kudos

I have done this scenario.

What is the error you got?

Former Member
0 Kudos

Hi, Jayson:

Your scenario is pretty normal and I believe that many people here came cross same scenario before.

I have read the thread the other people provided and no additional comments on it.

Probably you need to talk to BASIS guy to apply the latest patches for your application server.

Regards.

Liang