cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with my receiver determination

0 Kudos

Hi All ,

I have a file to SFTP scenario where the the file is validated at PI end to check for any errors , if there is any error it sent to one business component 'A' (a receiver CC is linked to this business component ) when the file has no errors , it it processed through another business component'B' ( a receiver CC linked to it as well). My scenario has an extended receiver determination at the ID.  The receiver is determined by using the Receivers message type provided by SAP. I have used message mapping with UDF to determine the correct receiver based on the validation. The scenario works perfectly fine at the ESR when i test in message mapping and operation mapping .I have used the error file to determine the receiver so , i have configured my ID for only one business component now to check if the error validation is working fine. I have defined the below objects in ID

  • Two communication channel - both are using business component A one for sender and other for receiver .

  • One Receiver determination - This is an extended receiver determination and holds a dynamic value defined in the Mapping. I have declared the values here. This is configured by the outbound service interface(SI_abc_OB) and business component A

  • One sender agreement  -  This is configured by the outbound service interface(SI_abc_OB) and business component A

  • One receiver agreement  - This is configured by the inbound service interface((SI_abc_IB) and business component A

When i test my ID  , it says fails at receiver determination. This is my exact scenario and there should be no changes made as the sole aim is to test for the Error files. Please let me know where i have gone wrong.

Error in my Receiver Determination :

Runtime error

Problem occurred in receiver agreement for sender -A to receiver -

A,http://abc.com/abc.SI_abc_OB: No standard agreement found for , A, , A, http://abc.com/abc, SI_abc_OB

Trace :

Trace level="1" type="B">CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV</Trace>

<Trace level="2" type="T">O U T B O U N D - B I N D I N G </Trace>

<Trace level="2" type="T"> Cache content is up to date </Trace>

<Trace level="2" type="T">determine OUTBOUND BINDING for: </Trace>

<Trace level="2" type="T">-A </Trace>

<Trace level="2" type="T">-A </Trace>

<Trace level="2" type="T">http://abc.com/abc.SI_abc_OB:</Trace>

<Trace level="1" type="T">error with outbound binding. </Trace>

<Trace level="1" type="T">No standard agreement found for , A, , A, http://abc.com/abc, SI_abc_OB </Trace>

<Trace level="1" type="E">CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV</Trace>

I use PI7.4 dual stack

Accepted Solutions (1)

Accepted Solutions (1)

former_member182412
Active Contributor
0 Kudos

Hi Sukanya,

You did not configured the interface determination for this interface that is why receiver interface also identified as SI_abc_OB and there is no receiver agreement for below combination (Both sender interface and receiver interface is same).


Business System        : A

Sender Interface         : SI_abc_OB

Sender Namespace    : sender_namespace

Receiver System        : A

Receiver Interface      : SI_abc_OB

But you created the receiver agreement for below combination:

Business System        : A

Sender Interface         : SI_abc_OB

Sender Namespace    : sender_namespace

Receiver System        : A

Receiver Interface      : SI_abc_IB


If you create the interface determination then the system determine the receiver interface as SI_abc_IB and the correct receiver agreement will be identified.


Regards,

Praveen.

0 Kudos

Hi Praveen ,

Thanks a lot for this i thought as i have mapped in Extended receiver determination that would be sufficient. My scenario is working fine  while testing in ID but in MONI i get the error as attached. Please help.

former_member182412
Active Contributor
0 Kudos

Hi Sukanya,

  • Did you create the interface determination?? create the interface determination and test the interface. and let me know.
  • Extended receiver determination is to determine the receiver not for determine the interface.
  • The pipe line steps RD will identify the receiver via you receiver determination mapping, Interface determination  step will identify the interface if you configure, if you dont configure system will use the same sender interface as receiver interface and you did not create the receiver agreement for this combination.

Regards,

Praveen.

0 Kudos

Hi Praveen ,

Yeah i did . I created the interface determination only after which my test was successful in ID side . When i did the end to end testing i got this error.

former_member182412
Active Contributor
0 Kudos

Hi Sukanya,

Can you paste complete trace from receiver determination step?

Regards,

Praveen.

bhavesh_kantilal
Active Contributor
0 Kudos

Can you please share,

  • The XML you use to test your Enhanced Receiver Determination Mapping in ESR?
  • The XML that is the input payload in SXMB_MONI. Are they the same XML or is there a change in the same?
  • Have you taken the XML form MONI as-is without any manual changes and tested your ESR Mapping?

Regards

Bhavesh

0 Kudos

Hi Praveen ,

I have pasted the trace below :

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

<!-- Receiver Determination -->

-<SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">

<Trace type="T" level="1">Party normalization: sender </Trace>

<Trace type="T" level="3">Sender scheme external = XIParty</Trace>

<Trace type="T" level="3">Sender agency external = http://sap.com/xi/XI</Trace>

<Trace type="T" level="3">Sender party external = </Trace>

<Trace type="T" level="3">Sender party normalized = </Trace>

<Trace type="T" level="1">Determining the sender agreement </Trace>

<Trace type="T" level="3">##### DG: 0</Trace>

<Trace type="T" level="3">##### TO: 3</Trace>

<Trace type="T" level="1">XMB was called with URL /sap/xi/engine?type=entry</Trace>

<Trace type="T" level="2">Request Line = POST /sap/xi/engine?type=entry HTTP/1.1</Trace>

<Trace type="T" level="2">Host = axdsapa:50100</Trace>

<Trace type="T" level="2">Server protocol = HTTP/1.1</Trace>

<Trace type="T" level="1">Remote address = 10.220.158.106</Trace>

<Trace type="T" level="1">User = PIDAFUSER</Trace>

<Trace type="T" level="1">Process ID: 22021</Trace>

<Trace type="T" level="1">Work Process ID: 36 </Trace>

<Trace type="T" level="1">Message ID = E886F3B8120011E6A813000000D443A7</Trace>

-<Trace type="B" level="1" name="CL_XMS_MAIN-ENTER_XMS">

<Trace type="T" level="1">CL_XMS_MAIN->DETERMINE_EXT_PID: CENTRAL</Trace>

<Trace type="T" level="3">##### DG: 0</Trace>

<Trace type="T" level="3">##### TO: 3</Trace>

<Trace type="T" level="1">Hop engine name = is.01.axdsapa</Trace>

<Trace type="T" level="1">Hop engine type = IS</Trace>

<Trace type="T" level="1">Hop adapter name = XI</Trace>

<Trace type="T" level="1">Hop adapter namespace = http://sap.com/xi/XI/System</Trace>

-<Trace type="B" level="1" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV">

<Trace type="T" level="3">No triggers found. OK. </Trace>

</Trace>

<Trace type="T" level="3">system-ID = AXD</Trace>

<Trace type="T" level="3">client = 100</Trace>

<Trace type="T" level="3">language = E</Trace>

<Trace type="T" level="3">user = PIDAFUSER</Trace>

<Trace type="Timestamp" level="1">2016-05-05T06:26:55Z MSTNO </Trace>

</Trace>

<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_UC_EXECUTE"/>

<!-- ************************************ -->

<Trace type="T" level="1">PLNAME = CENTRAL</Trace>

<Trace type="T" level="1">QOS = EO</Trace>

-<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC">

<Trace type="T" level="3">QOS = EO</Trace>

<Trace type="T" level="3">Generate prefixed queue name </Trace>

<Trace type="T" level="1">Queue name : XBTI0009</Trace>

<Trace type="T" level="1">Going to persist message </Trace>

</Trace>

<Trace type="T" level="3">Version number = 000</Trace>

-<Trace type="B" level="1" name="CL_XMS_LMS_EXTR_FILTER-GET_VALUES">

<Trace type="T" level="1">total processing time: 0.0000860 sec [0 filter(s)] </Trace>

</Trace>

<Trace type="T" level="1">Generated prefixed queue name = </Trace>

<Trace type="T" level="1">Schedule message in qRFC environment </Trace>

<Trace type="T" level="3">Setup qRFC Scheduler </Trace>

<Trace type="T" level="3">Call qRFC .... MsgGuid = E886F3B8120011E6A813000000D443A7</Trace>

<Trace type="T" level="3">Call qRFC .... Version = 000</Trace>

<Trace type="T" level="3">Call qRFC .... Pipeline = CENTRAL</Trace>

<Trace type="T" level="3">OK. </Trace>

<Trace type="B" level="1" name="CL_XMS_MESSAGE_PERS_MAN-WRITE_MESSAGE_TO_PERSIST"/>

<!-- ************************************ -->

<Trace type="T" level="3">Persisting message Status = 001</Trace>

<Trace type="T" level="3">Message version 000</Trace>

<Trace type="T" level="3">Pipeline CENTRAL</Trace>

<Trace type="T" level="1">--start of determination of sender interface action </Trace>

<Trace type="T" level="1">select interface SI_Valid_OB</Trace>

<Trace type="T" level="1">select interface namespace http://abc.com/abc</Trace>

<Trace type="T" level="3">loading configuration for sender </Trace>

<Trace type="T" level="3">configuration records loaded: 0</Trace>

<Trace type="T" level="1">no interface action for sender found </Trace>

<Trace type="T" level="1">hence keep interface action INIT</Trace>

<Trace type="T" level="3">processing time of determination [micro sec]: 296 </Trace>

<Trace type="T" level="1">--end of determination of sender interface action </Trace>

-<Trace type="B" level="1" name="CL_XMS_MESSAGE_PERS_MAN-READ_LAST_MSG_VERS_FROM_PERS">

<Trace type="T" level="3">Trace object available again now. OK. </Trace>

<Trace type="T" level="3">Message was read from persist layer. OK. </Trace>

<Trace type="T" level="3">Message properties in XMB object were setup. OK. </Trace>

</Trace>

<Trace type="T" level="3">message version successfully read from persist version= 000</Trace>

<Trace type="T" level="2">Increment log sequence to 001</Trace>

<Trace type="T" level="1">Exception from packaging: No messages for constructing a package available.</Trace>

<Trace type="T" level="1">Continue single processing </Trace>

<Trace type="T" level="3">##### DG: 0</Trace>

<Trace type="T" level="3">##### TO: 3</Trace>

<Trace type="T" level="1">Starting async processing with pipeline CENTRAL</Trace>

<Trace type="T" level="3">system-ID = AXD</Trace>

<Trace type="T" level="3">client = 100</Trace>

<Trace type="T" level="3">language = E</Trace>

<Trace type="T" level="3">user = PIDAFUSER</Trace>

<Trace type="Timestamp" level="1">2016-05-05T06:26:55Z MSTNO </Trace>

<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC"/>

<!-- ************************************ -->

<Trace type="T" level="1">>>>PID delete old pid determination coding </Trace>

<Trace type="T" level="3">Pipeline-Elements for pipeline SAP_CENTRAL</Trace>

<Trace type="T" level="3">0001 PLSRV_XML_VALIDATION_RQ_INB</Trace>

<Trace type="T" level="3">0002 PLSRV_RECEIVER_DETERMINATION</Trace>

<Trace type="T" level="3">0003 PLSRV_INTERFACE_DETERMINATION</Trace>

<Trace type="T" level="3">0004 PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>

<Trace type="T" level="3">0005 PLSRV_MAPPING_REQUEST</Trace>

<Trace type="T" level="3">0006 PLSRV_OUTBOUND_BINDING</Trace>

<Trace type="T" level="3">0007 PLSRV_VIRUS_SCAN_RQ_OUT</Trace>

<Trace type="T" level="3">0008 PLSRV_XML_VALIDATION_RQ_OUT</Trace>

<Trace type="T" level="3">0009 PLSRV_CALL_ADAPTER</Trace>

<Trace type="T" level="3">0010 PLSRV_VIRUS_SCAN_RS_INB</Trace>

<Trace type="T" level="3">0011 PLSRV_XML_VALIDATION_RS_INB</Trace>

<Trace type="T" level="3">0012 PLSRV_MAPPING_RESPONSE</Trace>

<Trace type="T" level="3">0013 PLSRV_VIRUS_SCAN_RS_OUT</Trace>

<Trace type="T" level="3">0014 PLSRV_XML_VALIDATION_RS_OUT</Trace>

<Trace type="T" level="3">system-ID = AXD</Trace>

<Trace type="T" level="3">client = 100</Trace>

<Trace type="T" level="3">language = E</Trace>

<Trace type="T" level="3">user = PIDAFUSER</Trace>

<Trace type="Timestamp" level="3">2016-05-05T06:26:55Z MSTNO Begin of pipeline processing PLSRVID = CENTRAL</Trace>

-<Trace type="B" level="1" name="PLSRV_XML_VALIDATION_RQ_INB">

<Trace type="Timestamp" level="3">2016-05-05T06:26:55Z MSTNO Start of pipeline service processing PLSRVID= PLSRV_XML_VALIDATION_RQ_INB</Trace>

-<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_PLSRV">

<Trace type="T" level="3">Calling pipeline service: PLSRV_XML_VALIDATION_RQ_INB</Trace>

<Trace type="T" level="3">Reading Pipeline-Service specification... </Trace>

<Trace type="T" level="3">PLSRVTYPE = </Trace>

<Trace type="T" level="3">ADRESSMOD = LOCAL</Trace>

<Trace type="T" level="3">P_CLASS = CL_XMS_PLSRV_VALIDATION</Trace>

<Trace type="T" level="3">P_IFNAME = IF_XMS_PLSRV</Trace>

<Trace type="T" level="3">P_METHOD = ENTER_PLSRV</Trace>

<Trace type="T" level="3"> </Trace>

-<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">

-<Trace type="B" level="1" name="CL_XMS_PLSRV_VALIDATION-ENTER_PLSRV">

<Trace type="T" level="3">Pipeline Service = PLSRV_XML_VALIDATION_RQ_INB </Trace>

<Trace type="T" level="3">Skip Inbound Validation = </Trace>

<Trace type="T" level="3">Skip Outbound Validation = </Trace>

<Trace type="T" level="3">Area = XML_VALIDATION_INB </Trace>

<Trace type="T" level="1">Reading sender agreement </Trace>

<Trace type="T" level="3">Validation Mode = No Validation </Trace>

<Trace type="T" level="1">Inbound validation by Integration Engine does not take place </Trace>

</Trace>

</Trace>

</Trace>

<Trace type="Timestamp" level="3">2016-05-05T06:26:55Z MSTNO End of pipeline service processing PLSRVID= PLSRV_XML_VALIDATION_RQ_INB</Trace>

</Trace>

-<Trace type="B" level="1" name="CL_XMS_MESSAGE_PERS_MAN-WRITE_MESSAGE_LOG_TO_PERSIST">

<Trace type="T" level="3">Persisting message after plsrv call </Trace>

<Trace type="T" level="3">Message-Version = 001</Trace>

<Trace type="T" level="3">Pipeline CENTRAL</Trace>

</Trace>

<Trace type="B" level="1" name="PLSRV_RECEIVER_DETERMINATION"/>

<!-- ************************************ -->

<Trace type="Timestamp" level="3">2016-05-05T06:26:55Z MSTNO Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>

-<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_PLSRV">

<Trace type="T" level="3">Calling pipeline service: PLSRV_RECEIVER_DETERMINATION</Trace>

<Trace type="T" level="3">Reading Pipeline-Service specification... </Trace>

<Trace type="T" level="3">PLSRVTYPE = </Trace>

<Trace type="T" level="3">ADRESSMOD = LOCAL</Trace>

<Trace type="T" level="3">P_CLASS = CL_RD_PLSRV</Trace>

<Trace type="T" level="3">P_IFNAME = IF_XMS_PLSRV</Trace>

<Trace type="T" level="3">P_METHOD = ENTER_PLSRV</Trace>

<Trace type="T" level="3"> </Trace>

<Trace type="B" level="1" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"/>

<!-- ************************************ -->

+<Trace type="B" level="1" name="CL_RD_PLSRV-ENTER_PLSRV">

</Trace>

<Trace type="System_Error" level="3">Error exception return from pipeline processing! </Trace>

-<Trace type="B" level="1" name="CL_XMS_LMS_EXTR_FILTER-GET_VALUES">

<Trace type="T" level="1">total processing time: 0.0000920 sec [0 filter(s)] </Trace>

</Trace>

<Trace type="B" level="1" name="CL_XMS_MESSAGE_PERS_MAN-WRITE_MESSAGE_TO_PERSIST"/>

<!-- ************************************ -->

<Trace type="T" level="3">Persisting message Status = 014</Trace>

<Trace type="T" level="3">Message version 002</Trace>

<Trace type="T" level="3">Pipeline CENTRAL</Trace>

</SAP:Trace>

0 Kudos

Hi Bhavesh ,

I am not sure if i can share the XML however , I did not edit anything in the XML . I downloaded it directly from Moni and used it for testing. When i tested it in both ID and ESR i did not have any issue. The trace was successful. I am getting this error only in MONI

former_member186851
Active Contributor
0 Kudos


Hello Sukanya,

Remove the Spilt and Merge namespace ,It will work.

former_member182412
Active Contributor
0 Kudos

Hi Sukanya,

I can see pipe line step PLSRV_RECEIVER_DETERMINATION in the trace it is not reaching to PLSRV_INTERFACE_DETERMINATION pipeline step, it is failing in receiver determination step.

Trace also not giving much information about the error.

<Trace type="System_Error" level="3">Error exception return from pipeline processing! </Trace>


Take the payload and test in the repository and directory using test configuration, i think you already done and it is working there. may be activate the receiver determination mapping again and test the scenario just to refresh the cache.


Can you share your receiver determination screen shot and the receiver determination mapping screen shot?

Regards,

Praveen.

0 Kudos

Hi Praveen  ,

I have attached the screen shot of my receiver determination. Please let me know if you want operation mapping screen shot as well.

0 Kudos


Hi Raghuraman ,

can you please explain ? i am not able to understand your statement.

former_member186851
Active Contributor
0 Kudos

Hello Sukanya,

When you copy the XML from mapping by default a namespace called Split and merge will be added.

But while testing you should remove this namespace because during runtime again the same namespace will be added.

former_member182412
Active Contributor
0 Kudos

Hi Ragu,

She is not splitting the message and she is not using any 1:N mapping, she is using normal mapping to determine receiver dynamically using standard Receiver message type. So the xml wont contain SpliAndMerge namespace like below.

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

   <ns0:Message1>

Regards,

Praveen.

former_member186851
Active Contributor
0 Kudos

Oh..yeah .correct Praveen,

Confused with the previous post 1: n and this one.

bhavesh_kantilal
Active Contributor
0 Kudos

Well from your response to how the issue was resolved, i was indeed right. Your Input XML In SXMB_MONI was not an XML at all, it was a CSV File. This was exactly what I had asked to check in my 1st response to this port!


  • The XML you use to test your Enhanced Receiver Determination Mapping in ESR?
  • The XML that is the input payload in SXMB_MONI. Are they the same XML or is there a change in the same?
  • Have you taken the XML form MONI as-is without any manual changes and tested your ESR Mapping?

Answers (3)

Answers (3)

0 Kudos

Hi All ,

My issue was resolved. I had to make changes to an existing Interface , so i did not copy the Communication channel . I created a new one. Hence FCC was missed. Now it works fine . The error as displayed in the image was cleared my scenario works perfectly fine.

xmlns:SAP="http://sap.com/xi/XI/Message/30" SOAP:mustUnderstand="1">

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

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

<SAP:P1>Problem while determining receivers using interface mapping: Error while determining root tag of XML: value expected at 'H111111</SAP:P1>

<SAP:P2/>

<SAP:P3/>

<SAP:P4/>

<SAP:AdditionalText/>

<SAP:Stack>Error when determining the receiver: Problem while determining receivers using interface mapping: Error while determining root tag of XML: value expected at 'H111111' Problem while determining receivers using interface mapping: Error while determining root tag of XML: value expected at 'H111111' Error while determining root tag of XML: value expected at 'H111111' Error while parsing an XML stream: 'value expected at 'H111111''. </SAP:Stack>

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

</SAP:Error>

Thanks all for your help it resolved my issue.

former_member190293
Active Contributor
0 Kudos

Hi, Sukanya!

First, please check again your Receiver agreement for correct settings.

0 Kudos

Hi Evegeniy,

I have given the interface as inbound interface and CC as receiver communication Channel.

former_member186851
Active Contributor
0 Kudos

Hello Sukanya,

Did you add the Receivers Interface mapping in the Receiver determination.

Check the below link and ensure you have followed all the steps.

Step by Step guide to Explain Enhanced Receiver Determination - Application Server Infrastructure - ...

0 Kudos

Hi Raghuraman ,

Yeah i have mapped my operation mapping in the Receiver determination . I have followed the similar steps foe my scenario as well