cancel
Showing results for 
Search instead for 
Did you mean: 

com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIServer: NO_MAPPINGPROGRAM_FOUND:

Former Member
0 Kudos

Hello experts,

We have a few interfaces running in out prd environment...  most of them are asyn/sync bridge using Adapter modules...

Sometimes we keep gettign this error in the sender communication channel...

com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIServer:NO_MAPPINGPROGRAM_FOUND:

The retry in the next polling interval successfully executes the interfaces,,, but sometimes we get the belwo error... can u pls share ur ideas


Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

The error is because there is a Fault Message triggered by the back-end SAP System.

As this is a fault message / exception message, PI looks for a Fault Message Mapping in the Operation Mapping and as it does not find the same, it errors out. This is the expected behaviour.

Here is what I would suggest:

- Check if the RFC has a Exception Structure. If no, get the same created by the ABAP Developer as the RFC is already triggering the Exception Back.

- Create a Exception / Fault Mapping and assign the same back to your Operation Mapping.

- Now if there is a exception, the exception mapping would get triggered.

Ofcourse you would need to see how this fits into the end to end process and if the source system is Ok to get this exception message etc.

Regards,

Bhavesh

Former Member
0 Kudos

Hello Bhavesh,

Yes I will ensure I add the exception class of the rfc in the service interface fault message and map it as response , but before that if you have a look at my earlier post , I have posted a screen shot from sxmb_moni where the same message has got executed after the 17th time, there is no dump in ecc either.... so 16 times we received bapi.exception as response but the 17th interval got the correct response.... there was no change done at ecc ...

Also , when is this exception triggered? as we are using a standard bapi itself

former_member182412
Active Contributor
0 Kudos

Hi Dusol,

It is completely depend on BAPI implementation, you need to execute the BAPI in ECC with the same data which you using in PI message and test in ECC then you will come to know why it is throwing an exception.

Regards,

Praveen.

bhavesh_kantilal
Active Contributor
0 Kudos

Hello Dusol,

You should be able to click on the multiple times where a exception was returned and see the logs of the same.

Even I am kind of surprised as to why this issue where it "retries" 16 times, do you see anything when you click on this?

Regards,

Bhavesh

Former Member
0 Kudos

Hello All,

We have finally concluded that the issue arises due to a material locking issue on erp side.

As our sender was polling every 10 secs , the rfc was throwing an exception but the same was not caught as rfc did not have exception structure.

As the material was locked by a different user the changes were not being permitted hence the error from the rfc.

Thanks a ton everyone for your valuable inputs.

Dusol

Answers (2)

Answers (2)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Dusol,

In a normal synch scenario, this happens when the webservice returns a fault message and you have no mapping for it.

Regards,

Mark

Former Member
0 Kudos

Thanks Gentlemen,

But this happening at random... the scenario is a file to Rfc to file without bpm (using Adapter modules req/resp one waybean).

When the error file is put back into source folder again, without changing anything.. the data is processed and the response is returned by the rfc...

This is happening at random intervals in prod environment... how do we correct this?

I have tried to CPA cache refresh , adapter engine cache refresh... etc

former_member186851
Active Contributor
0 Kudos

Hello Dusol,

Can you compare the failed files with the successful ones and see if there is any data mismatch?

Former Member
0 Kudos

Hi raghu,

There is no mismatch in the data , the data is the same. I did compare both files....

Is it may be due to the load on the system? This seems to happen at random intervals..

former_member186851
Active Contributor
0 Kudos

Then I dont believe data is the issue.

Try restarting the server and check once.

former_member182412
Active Contributor
0 Kudos

Hi Dusol,

Did you compare the response payloads(Which is coming from RFC) for failed ones and successful ones?? check are there any difference?

Regards,

Praveen.

Former Member
0 Kudos

There is no change in the data , nor is there any difference in the payload... the mapping errror that it show sin sxmb_moni is because the bapi.exception is being called , but we have not mapped the exception in the service interface...

but what I am unable to understand is why the .exception is being called and then after few iterations it returns the correct response form the rfc call... there is no dump on ecc side either..


can we see why the .exception is being called?


Regards

former_member186851
Active Contributor
0 Kudos

Hello Dusol.

Run the RFC program in ECC by taking the values from PI and check if its throwing any exception.

Then it could be because of data and fault message is triggered which is not handled in PI.

iaki_vila
Active Contributor
0 Kudos

Hi Dusol,

Just to add check the st22 transaction in the ECC in order to know if there is any exception.

Regards.

former_member182412
Active Contributor
0 Kudos

Tthis error normally occurs when you get the response is different from what you expect in the response mapping, if you create the mapping for message type WebserviceResponse but at runtime if you receive    Other than this you will get this error because there is no mapping defined for other message, I think there was a temporary problem because of that you are receiving different response message when you restart you are receiving proper response and the message was successful.

former_member186851
Active Contributor
0 Kudos

Hello Duson,

Get the payload and test in the response mapping and also check for cache if its up to date.