cancel
Showing results for 
Search instead for 
Did you mean: 

Interface mapping test successful, throws exception in BPM

Former Member
0 Kudos

Hi.

We are having a problem with an Interface mapping which works when

tested in Integration Builder, but throws an Exception when it is part

of the Transformation in a BPM.

The scenarion is such:

1. The sender calls the outbound interface using a web service.

2. XI uses the input and passes to the Integration Process

3. In the BPM, a LOGON message is built to call the web service as

specified by an external web service . The input and

output messages are just a single string, in which the other XML is

embedded.

4. XI receives a response from the web service call

5. XI Extracts the sessionId from the response and combines it with the

initial input (Step 1) to create the query for the query message in

the web service.

It is in Step 5 where the transformation fails, with an Exception in

the DefaultTrace.trc as

Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd

Thrown:

MESSAGE ID: com.sap.aii.ibrun.server.mapping.rb_MappingRuntimeException.EXCEPTION_DURING_EXECUTE

com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd

.

I have extracted the data from the initial request (step 1) and the

logon response (step 4) and using these I have tested the Interface

Mapping. There is no problem with this and the tests are successful.

From what I can see, because the Response field in the LOGONResponse

contains more XML tags, XI must be parsing it and assuming the tags are

tags in the message, and not just the string, thus it is complaining

that the XSD types do not match. This extra XML Parsing does not take

place in the Interface Mapping Test.

I have put the response into a User Defined Function which just has one

line "return new String("Hello")" and that fails. However, if this UDF

does not have the Response as the input, it does not complain.

Please advise.

--Reenal

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

hi

You will have to use specific replacements for you xml tags if it is coming as a paramter

replace '<' with &lt;

replace '>' with &gt;

for eg: I want to pass <TakeIt>200</TakeIt> as value to Element <A>

Mapping won't work if it is passed like

a) <A><TakeIt>200</TakeIt></A> - Wrong

Instead the replace the angle brackets

b) <A>&lt;TakeIt&gt;200&lt;/TakeIt&gt;</A> - Correct

While testing the mapping in IR (a) will work bcoz the test tool will convert it to (b) format. Check the xml source in test tool.

So ensure the web response is like (b)

rgds,

Arun

moorthy
Active Contributor
0 Kudos

This mapping error may be because of following reasons:

as you thought, xsd is not in the right format. However, if there is a string in a field with tags, i don't think so, it will error out.

check all the fields are mapped..

check the mapping input in the Transformation Step in ccBPM..using BPM Monitoring ie SXMB_MONI>your message>PE-->Go to Menu and find out the Technical Details option to know this in detail..

Rgds, Moorthy