cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Receiver determination in a WS to WS scenario

vivek_vishal
Advisor
Advisor
0 Kudos

Hi Experts,

We have a WS to WS scenario where we are trying to send out a message to multiple receivers based on the information passed in the Header of the message to the PI, which may be dynamically determined by writing a UDF and using the ASMA configuration like we can do in the SOAP adapter for PI 7.1.

Does the WS adapter provide the flexibility to be used for Dynamic receiver determination and then send the message to that receiver, something similar to the Dynamic SOAP Action. If not, what can be the best approach for a scenario - Is it to maintain multiple communication channels : for multiple receivers based on the filter condition ?

Kindly let me know your inputs.

Thanks in Advance.

Vivek

Accepted Solutions (1)

Accepted Solutions (1)

nageshwar_reddy
Contributor
0 Kudos

There are no ASMA fields like soapAction that can be used to dynamically call different operations in WS adapter. I believe, you can have multiple receivers with separate communication channels and receiver agreements and dynamically determine which receiver to call. Remember that creation of receiver agreement creates central configuration(creates a service and related items in PI system). There has to be separate configuration for each receiver. That means multiple receiver agreements.

Does the WS adapter provide the flexibility to be used for Dynamic receiver determination and then send the message to that receiver, something similar to the Dynamic SOAP Action. If not, what can be the best approach for a scenario - Is it to maintain multiple communication channels : for multiple receivers based on the filter condition ?

Btw, what is the scenario you are trying to work on?

vivek_vishal
Advisor
Advisor
0 Kudos

Hi Nagesh,

Thanks a lot for your reply. I have just mentioned the details on the scenario in the above reply. Could you be kind to reflect on that.

Your reply is what i had thought initially, but wanted to know if there is another way that can be done in this case or a better approach.

If i'm not mistaken what you are trying to say is that we will be configuring multiple receiver communication channel and multiple receiver agreements which will point to the same interface for sending out the messages to the respective back end receivers based on the given validated condition.

If it is true how would you ideally suggest to call these individual receivers or dynamically determine it.?

Thanks in Advance.

Vivek

nageshwar_reddy
Contributor
0 Kudos

If i'm not mistaken what you are trying to say is that we will be configuring multiple receiver communication channel and multiple receiver agreements which will point to the same interface for sending out the messages to the respective back end receivers based on the given validated condition.

Yes. We are on the same page.

If it is true how would you ideally suggest to call these individual receivers or dynamically determine it.?

It depends.  Calling individual receivers requires multiple senders isn't it? You can try content based routing. You will have to closely look at your sender to determine the path forward.

vivek_vishal
Advisor
Advisor
0 Kudos


It depends.  Calling individual receivers requires multiple senders isn't it? You can try content based routing. You will have to closely look at your sender to determine the path forward.

Hi Nagesh,

As for our scenario, Not really. Imagine a situation where a person is logging to a flight booking agency's website and selects one particular Airline to check for the availability. In that case the agency may be using something like, (If AirlineId = "AA") it would route it to the Availability checking for the website of AA airline.

(The above example is just to stress my point)

Content based routing can definitely be used.

On an unrelated context, are you aware of how the Technical Transport settings : Target Host field is populated in the case of a Web Services Sender and Receiver channel both. On a sender channel, this field ideally contains the location of the system where Integration is installed.

So for example: IF system A (WS Sender) interacts with PI System B which then sends the message to system C (WS Receiver), the Target Host for a Web Service Sender should point to system A or System B and similarly Receiver CC should point to system C or System B.

Thanks & Regards

Vivek

nageshwar_reddy
Contributor
0 Kudos

Not sure i understand your scenario correctly. When you say WS Sender, are you referring to sender using WS Adapter?

vivek_vishal
Advisor
Advisor
0 Kudos

Hi Nagesh..Yes i meant that.

Regards

Vivek

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

You may try a Extended Receiver Determination where you determine the receiver using a Operation Mapping.

Thanks,

Sudhansu

vivek_vishal
Advisor
Advisor
0 Kudos

Hi Sudhanshu,

Thanks for your reply. Could you be a little more discrete and brief me based on my above description as to how you could use the Extended Determination. We are running into lot of performance issues as well because of which I'm asking this.

Regards

Vivek

Former Member
MichalKrawczyk
Active Contributor
0 Kudos

hi,

do you use WS adapter for point to point scenarios ? if not what is the reason you're using it ?

(wsrm, saml?). please let us know some more details on the scenario so we will know how to deal with that

Regards,

Michal Krawczyk

vivek_vishal
Advisor
Advisor
0 Kudos

Hi Michal,

Thanks for your reply. We are trying to get a payload from a host of ECC backend servers who consume our web service. The message is then routed to a third party system who has exposed their web service and is being consumed by the PI.

Once the processing is done on the TPT system they send the payload message through the WS by consuming the service of PI. PI then receives the message does some changes internally and finally needs to send the payload to the individual respective back end based on the content of the payload.

So over here if we cannot use the Dynamic Routing as is possible to do so for a SOAP message what could be the best approach. Hope it is clear now. Kindly let me know on that.

Regards

Vivek