cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with message mapping ...

zbynek_kabrt3
Participant
0 Kudos

Hello,

I have problem with message mapping. I implemented SOAP-to-RFC scenario. The source message is of type http://sntcz.cz/xmlns/holidays:MT_Holiday, the target message of type urn:sap-com:document:sap:rfc:functions:Z_GET_SUPERIOR. But some error is still generated in Request Message Mapping step:

com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:Z_GET_SUPERIOR/USR. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:403) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at .....

This is XSD definition of source message:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sntcz.cz/xmlns/holidays" targetNamespace="http://sntcz.cz/xmlns/holidays">

<xsd:element name="MT_Holiday" type="DT_Holiday" />

<xsd:complexType name="DT_Holiday">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

030495e1742f11dd963600301875333b

</xsd:appinfo>

</xsd:annotation>

<xsd:sequence>

<xsd:element name="SinceDay" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba049b067aa11dd8be6eee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="SinceMounth" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba293a067aa11dda311eee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="SinceYear" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba293a167aa11dd9b4eeee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="UntilDay" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba293a267aa11ddc352eee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="UntilMounth" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba293a367aa11ddc33aeee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="UntilYear" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba293a467aa11dda8cfeee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

<xsd:element name="UserId" type="xsd:string">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

fba293a567aa11dd9698eee20abb2a3f

</xsd:appinfo>

</xsd:annotation>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

This is XSD definition of target message:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">

<xsd:element name="Z_GET_SUPERIOR">

<xsd:complexType>

<xsd:all>

<xsd:element name="USR" type="xsd:string" minOccurs="0" />

</xsd:all>

</xsd:complexType>

</xsd:element>

</xsd:schema>

It's strange that if I use Message Mapping Test it works fine. But in pipeline not.

Do you have any idea where could be the problem?

Thank you in advance!

Best regard,

Zbynek

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Make sure that in your Input file from the SOAP Application, the field USR is mapped to the source field is having the value

USR field is the mandatory in the receiver structure.

Regards

Seshagiri

Edited by: N V Seshagiri on Aug 27, 2008 2:29 PM

zbynek_kabrt3
Participant
0 Kudos

It is. And in case it's not, the field USR should be fulfilled by default string value.

Zbynek

Former Member
0 Kudos

Hi,

To know the correct error Take the Inbound Payload from MONI and Test it in Mapping Test TAB. then u will come to know the exact error.

Procedure to take the Payload

goto MONI-Double click on MessageInbound Message ( CENTRAL ) --Payloads ---Double click on MainDocument ( application/xml ) -Just Right Click on the second window-View Source

then now Copy this and paste it in Mapping Test and Execute.

REgards

Seshagiri

zbynek_kabrt3
Participant
0 Kudos

If I test it how you recommend it works right. The target message is generated correctlly.

Answers (2)

Answers (2)

zbynek_kabrt3
Participant
0 Kudos

Problem is solved. I had to clear XI RUntime Cache.

Thank you for your replies!

Regards

Zbynek

zbynek_kabrt3
Participant
0 Kudos

I would try to debug it in runtime but I don't know how. I have just experience with debugging in EP.

Is it possible to debug standard code in NW Developer Studio? If so, how?

Regards,

Zbynek