on 05-05-2016 6:26 AM
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
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sukanya,
Regards,
Praveen.
Can you please share,
Regards
Bhavesh
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>
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.
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.
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?
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, Sukanya!
First, please check again your Receiver agreement for correct settings.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.