cancel
Showing results for 
Search instead for 
Did you mean: 

Message Mapping Error

Former Member
0 Kudos

Hi,

I am using SOAP-XI-RFC Scenario.

I am getting error in Message Mapping (Response).

My RESP_MM contains a MY_DT, my datatype like below

MY_DT

-DETAIL_FIELD1

--item

-


FIELD11

-


FIELD12

-


FIELD13

-


FIELD14

I mapped it with the appropriate BAPI_xxx.Response fields in my (Reponse)Message Mapping. But when I try to run a webservice to get a reponse from the CRM system, I get the following error, which i retrieved using rwb.

ERROR:::::

"com.sap.aii.utilxi.misc.api.BaseRuntimeException: Run time exception in Message Mapping transformation: Goal element/ns:PT_OPP_RESP_MT/PRODUCT_DETAIL/item cannot be put on. Examine whether the XML instance for the exit XSD and the target field allocation fulfills the requirements of the goal XSD. "

Can anybody help me out!!

Regards,

Narendra.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

hi,

did you test the message mapping in Integration Repositry during design??? There is a test tab for testing the message mapping in IR

cheers,

Naveen

Former Member
0 Kudos

I did!! It works fine there.

Former Member
0 Kudos

Narendra,

Check if your input contains some value for all the fields in source structre including the field for which the mapping is failing.

Also test your mapping in IR with the input message.

check this weblog for the same..

/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios

Anand

Message was edited by: Anand Torgal

Former Member
0 Kudos

make sure you are filling all the details of the input structure, it looks like you are not filling all the required fields of the BAPI

naveen

Former Member
0 Kudos

hi,

is it necessary to fill up all the fields of Request (Input) message? I am filling up only 1 of 3 fields in Request message (using REQ_DT). I want to get the response record using one of these three identifier fields.

Guide me!!

-Narendra.

Former Member
0 Kudos

Narendra,

You need not fill all the fields, but atleast all required fields should be filled. I mean if you are mapping a field A from source to field B in the target and if the field B in the target is mandatory then you should fill field B with some value otherwise you will get a mapping error.

Anand

Former Member
0 Kudos

Thanks Anand,

can u clear my ideas more.

I have

REQUEST - BAPIxxx (req_MM)

and

BAPIxxx.Response - RESPONSE (resp_MM)

I am getting error in resp_MM.

What i infere from ur answer that

'I need to fill the REQUEST required fields properly in order to get the perfect RESPONSE'??

Is this properly framed?

Please clarify me,

Narendra.

Former Member
0 Kudos

Narendra,

>>'I need to fill the REQUEST required fields properly in order to get the perfect RESPONSE'??

Not exactly...

Request and Response are two different mappings. Both the mappings should work without any errors independently.

I guess, you are mapping your response from RFC to another structure ABC . Then the response received from RFC should have all the required fields in the structure ABC. If this not the case where your response does not have all the mandatory fields required by the target structure then you should handle this in your mapping using exists function and map with some dummy value or space.

check which mapping is failing, request or the response. You can use the weblog which I had mentioned to test your mapping with the actual messages in XI.

If it is response mapping which is failing then check if all the required fields for mapping target structure are returned by RFC if not then you need to handle this in mapping. The same is applicable for requset mapping aswell.

hope this helps..

Anand