on 11-28-2011 10:12 AM
Hi,
I got file to file scenario with message mapping. (i am changing
structure of input file using message mapping).
I got configured file adapter with content conversion to generate
input XML message on outbound interface and similar way inbound
interface to generate csv file from output xml message.
I got set Operation Mapping on Interface Determination screen.
There is also assigned Message Mapping to Operation Mapping which
makes conversion of input message to output one.
Everything works fine. Output file is generated with remapped
content. So work is done as should be.
But PI still generates following error message:
<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="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
<SAP:P1>Object ID 11E1D7B1A49E3A1EA7D73CEE6766F224 Software Component 1B5DC810B90911E0B144F495C2A02DE4</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Mapping program is not available in runtime cache: Object ID 11E1D7B1A49E3A1EA7D73CEE6766F224 Software Component 1B5DC810B90911E0B144F495C2A02DE4</SAP:Stack>
</SAP:Error>
I dont know how to get rid of this error. I tried to delete mappings
and create them again. Also with different names. It's still the same.
I have found out, the same error is generated, when i delete
Operation Mapping from repository, but dont delete it from Interface
Determination screen. (so PI is referring to nonexistent object)
Difference is only that output file is not generated in that
case. It is logical, because mapping really dont exist.
But why the same error is triggered when mapping exist and output file
is correctly created?
Is there any way how to find out, which mapping program PI is looking for?
I also tried to create FaultMessage and assign it to inbound
interface, but it didnt helped.
Is necessary to create any mapping for that FaultMessage? If so, then
how?
Or is problem somewhere else?
Hi,
you certainly have a problem of cache: config try to use an ID object which no more exist.
Go to SXMB_IFR > Administration, under tab "integration Directory", do a delta or a full refresh.
Then, go back to your Receiver Interface, and re-select your Operation Mapping. Save. Activate.
Do eventually a second cache refresh.
regards.
Mickael
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I did exactly as you said, but it didnt helped.
If it was realy cache problem, then i suppose mapping wouldnt even
work, because mapping program wouldnt be accessible.
But mapping works. Generated output file realy is remaped according
rules i have defined in message mapping.
This leads me to believe, there is either something missing in my
mapping settings (or is set wrong), or there is some other mapping,
that needs to be defined (may be FaultMessage of inbound interface? I
dont know), but is not critically necessary for functionality, because mapping works fine
(except error message).
Hi,
Ensure that mapping program exists and is activated. If it exists then update the cache.
Use XIDIRUSER to refresh the cache.
For complete cache refresh - http://<hostname>:<port>/CPACache/refresh?mode=full
For complete delta refresh - http://<hostname>:<port>/CPACache/refresh?mode=delta
You can also refresh the cache using XI Administration page.
regards,
ganesh.
Hi,
First can you please refresh ur cache once.
Then Go for receiver determination check the "Configuration Overview" TAB If every thing looks correct ot not. Then test configuration with ur payload in receiver determination or interface determination.
Please let me know if u find any errors there. Please check ur sevice interface names of both sender and receiver.
Thanks,
Enivas
hi jurag,
If it was realy cache problem, then i suppose mapping wouldnt even
work, because mapping program wouldnt be accessible.
not necessarely, you probably have two ID objects which are defined for the same Operation Mapping (OM), or an old ID object which is referenced somewhere in the runtime cache.
Do not forget also that if PI do not find an entry a cache then it go to config (ID) to read the missing info: in your case the OM. And so your flow works. Normally after that PI, put this info in its cache, but it seems it's not completely the case for you.
Anyway... as you cleaned the Directory cache, now your config should reference the good OM created in ESR!
So now you have just to refresh the cache of your Integration Engine (your Runtime environment, like written in your error message). to do that, go to tcode SXI_CACHE, and in menu "Runtime Cache", use option "start delta cache refresh" or "start complete cache refresh", as you prefer.
regards.
Mickael
I have finally found out what was the catch.
I had set Quality of Service to Best Effort on file adapter of sender
channel. That was forcing PI to synchronous communication.
So error was probably due to PI was trying to find out mapping program for
answer message (which didnt exist).
Once i had set QoS to Exactly Once, everything is Ok. File is created
correctly as before and PI logs only successfull message processing.
So problem seems to be solved.
Thanx for advices.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, i can imagine two problems:
1) looks like cache problem in the adapter engine:
In service repository, go to Environment -> Cache status overview. There you can check if the cache updates have been successful. Consider the drop down menu for notification period in the selection screen. It needs to be adjusted so that it covers the period you activated the objects in. If something failed (red icon), select the line(s) and repeat cache notification (button with green flash or context menu).
2) the mapping program has not been transported. check if all necessary objects from service repository are present in the system you are running the scenario.
Regards, Martin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Is your mapping program assigned to operation mapping?
Is your operation mapping assigned to interface determination?
If answer to above question is YES and you are able to see mapping program in IR, then please do following things.
Refresh ESR cache.
Execute SXMB_IFR. Go to Administration --> Repository --> Cache --> Refresh Repository Cache.
You can also refresh individual object here.
right click on the SCV in IR. then tick Objects are modifiable, then Save.
Also refer to notes:
#1523941 PI mapping errors: RESOURCE_NOT_FOUND and NO_MAPPINGPROGRAM_FOUND
regards,
ganesh.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
96 | |
11 | |
11 | |
10 | |
9 | |
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.