cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to connect two different ECC client with one pi system for same scenario

former_member221434
Participant
0 Kudos

Dear Experts,

I have created synchronous scenario SOAP to Proxy(ECC)  and it is working fine but I want to connect PI system with different client of ECC system to same scenario for user testing . Is it possible .


Current Scenario


SOAP(Third party)---> XI(7.4)---->ECC100  (working fine)

New Requirement

SOAP-------->XI(7.4)--------->ECC100, ECC500(testing client) .

Regards,

Pradeep Kumar

Accepted Solutions (1)

Accepted Solutions (1)

sahithi_moparthi
Contributor
0 Kudos

Hi,

Yes,You can connect to two ECC systems.In Receiver mention the 2 receivers,so that data goes to ECC100 and ECC500.

former_member221434
Participant
0 Kudos

Hi Raghu/Sahithi,

I am using XI(Proxy) as receiver adapter in synchronous scenario  and I have assigned  both client in receiver determination but getting error in sxmb_moni .

Error is :

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

- <!--

 Receiver Determination 

--> 

- <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="RCVR_DETERMINATION">TOO_MANY_RECEIVERS_CASE_BE</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>Multiple receivers are not permitted in synchronous calls</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

former_member186851
Active Contributor
0 Kudos

Hello Pradeep,

Let us know how your splitting.

Its based on any condition or both should receive the message?

former_member203641
Participant
0 Kudos

Hi Pradeep,

I think this error is may be because your interface is synchronous. If yes, then the problem here is that since you have one sender and multiple receivers so consider the situation that for one synchronous request message from sender if it routes to both ECC clients and PI receives two responses then how would PI determine which response it has to send back to sender.

I would suggest that if above is the case then use condition in receiver determination based on payload such that at a time the request from sender gets routed to exactly one receiver at a time and this issue will get resolved as per my knowledge.

Thanks,

Amit

former_member221434
Participant
0 Kudos

Hi Raghu,

I am not using any condition for receiver component .

former_member182412
Active Contributor
0 Kudos

Hi Pradeep,

Synchronous scenario does not support multiple receivers. You must not put multiple receivers in the receiver determination.

Regards,

Praveen.

former_member221434
Participant
0 Kudos

Hi Amit ,

I am facing same issue as you suggested above .

Could you suggest me how can I apply condition in receiver determination for payload .

Regards,

Pradeep

former_member182412
Active Contributor
0 Kudos

Hi Pradeep,

Dont need to use any conditions in receiver determination, did you check my reply below??

Regards,

Praveen.

former_member186851
Active Contributor
0 Kudos

then virtual receiver could be one option as Praveen suggested.

Or configure 2 different scenarios for each client.

former_member203641
Participant
0 Kudos

Hi Pradeep,

You would have to identify the field in your source payload with which you can determine which receiver system your request should go to. If you do not have the field then you can create one optional field in your source structure and provide the target system in that.

Once the field is identified then you can use XPATH of that field in condition editor of ICO/Receiver determination to determine the receiver based on the value in that field at runtime. Below links can provide you understanding of the concept.

Defining Content-Based Routing - SAP Process Integration - SAP Library

Using the Condition Editor - Integration Directory - SAP Library

If above is not possible for you then you can try the option suggested by

Message was edited by: Amit Valecha

Answers (4)

Answers (4)

former_member182412
Active Contributor
0 Kudos

Hi Pradeep,

The second scenario create separate sender agreement with virtual receiver option,create receiver determination with ECC500 and interface determination and receiver agreement, Then supply the different WSDL for this testing.

Original one with no receiver service specified in the endpoint URL


http://pidev:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=Sender_Dev&receiverParty=...receiverService=&interface=CallReplicate_Sync_Out&interfaceNamespace=urn:test

The new one with receiver service specified in the endpoint URL


http://pidev:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=Sender_Dev&receiverParty=...receiverService=ECC500&interface=CallReplicate_Sync_Out&interfaceNamespace=urn:test

So based on these two endpoint URL's they can test both scenarios's.

Regards,

Praveen.

iaki_vila
Active Contributor
0 Kudos

Hi Pradeep,

You can set two receivers as Sahithi has pointed. Also you have more options, you can set a new sender party to have a new ID configuration to have the new testing purpose. Personally, i prefer to have a new party and to can difference between the two cases in a simple one view.

Regards.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Pradeep,

Yes it is possible, however there are two scenarios to be considered:

1. You will be sending the same request to both systems at the same time. Synch messages cannot be split and will require ccBPM/NWBPM.

2. You will be sending the request to only one of the two systems. This can be taken care of by setting conditions in the receiver determination.

Regards,

Mark

former_member186851
Active Contributor
0 Kudos

Hello Pradeep

It is possible,

Refer the below link