cancel
Showing results for 
Search instead for 
Did you mean: 

XSD Validation error in SAP Integration Suite

0 Kudos

Hi, I have the below xml file :

<message id="95924">

<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">

<multimap:Message1>

<root>

<row>

<D_ADDRESS>Service Agreement 700632</D_ADDRESS>

<D_SUBURB/>

<DOCKET>95924</DOCKET>

<DATE_STAMP>18/05/2023</DATE_STAMP>

<Order_No>4511122794</Order_No>

<PRODUCT_NO>GS-BW</PRODUCT_NO>

<NET>37.88</NET>

<PRODUCT>GS-BW Glass Sand</PRODUCT>

<UNIT_COST>20.56</UNIT_COST>

<SURCHARGE>0</SURCHARGE>

<TRAN_COST>778.81</TRAN_COST>

<CartCharge>0</CartCharge>

<Site_Name>SSA</Site_Name>

<ACCOUNT>ECBACIO001</ACCOUNT>

<Start_Date>1/05/2023</Start_Date>

<End_Date>18/05/2023</End_Date>

</row>

</root>

</multimap:Message1>

</multimap:Messages>

</message>

When I converted the above XML into XSD :

<?xml version="1.0" encoding="utf-8"?>

<!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) -->

<xs:schema xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:import schemaLocation="schema1.xsd" namespace="http://sap.com/xi/XI/SplitAndMerge" />

<xs:element name="message">

<xs:complexType>

<xs:sequence>

<xs:element ref="multimap:Messages" />

</xs:sequence>

<xs:attribute name="id" type="xs:unsignedInt" use="required" />

</xs:complexType>

</xs:element>

<xs:element name="root">

<xs:complexType>

<xs:sequence>

<xs:element name="row">

<xs:complexType>

<xs:sequence>

<xs:element name="D_ADDRESS" type="xs:string" />

<xs:element name="D_SUBURB" />

<xs:element name="DOCKET" type="xs:unsignedInt" />

<xs:element name="DATE_STAMP" type="xs:string" />

<xs:element name="Order_No" type="xs:unsignedLong" />

<xs:element name="PRODUCT_NO" type="xs:string" />

<xs:element name="NET" type="xs:decimal" />

<xs:element name="PRODUCT" type="xs:string" />

<xs:element name="UNIT_COST" type="xs:decimal" />

<xs:element name="SURCHARGE" type="xs:unsignedByte" />

<xs:element name="TRAN_COST" type="xs:decimal" />

<xs:element name="CartCharge" type="xs:unsignedByte" />

<xs:element name="Site_Name" type="xs:string" />

<xs:element name="ACCOUNT" type="xs:string" />

<xs:element name="Start_Date" type="xs:string" />

<xs:element name="End_Date" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

When I tried to upload this into source message mapping editor, getting the below error :

Message replacement failed due to invalid WSDL/XSD/EDMX/JSON;

Cannot import file 'SSA SO5.xsd'; XSD: Element reference 'http://sap.com/xi/XI/SplitAndMerge#Messages' is unresolved.

Could any one please help me to fix the issue?

Kind regards

Ramesh

yogananda
Product and Topic Expert
Product and Topic Expert
rmasetty80

could you post your code in code sample ... its difficult to copy

0 Kudos

Hi Yogananda,

As requested, please find the below xml and xsd :

XML File : 

<message id="95924">

http://sap.com/xi/XI/SplitAndMerge">

<multimap:Message1>

<root>

<row>

<D_ADDRESS>Service Agreement 700632</D_ADDRESS>

<D_SUBURB/>

<DOCKET>95924</DOCKET>

<DATE_STAMP>18/05/2023</DATE_STAMP>

<Order_No>4511122794</Order_No>

<PRODUCT_NO>GS-BW</PRODUCT_NO>

<NET>37.88</NET>

<PRODUCT>GS-BW Glass Sand</PRODUCT>

<UNIT_COST>20.56</UNIT_COST>

<SURCHARGE>0</SURCHARGE>

<TRAN_COST>778.81</TRAN_COST>

<CartCharge>0</CartCharge>

<Site_Name>SSA</Site_Name>

<ACCOUNT>ECBACIO001</ACCOUNT>

<Start_Date>1/05/2023</Start_Date>

<End_Date>18/05/2023</End_Date>

</row>

</root>

</multimap:Message1>

</multimap:Messages>

</message>

XSD :

<?xml version="1.0" encoding="utf-8"?>

http://sap.com/xi/XI/SplitAndMerge" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs=" http://www.w3.org/2001/XMLSchema">

http://sap.com/xi/XI/SplitAndMerge" />

<xs:element name="message">

<xs:complexType>

<xs:sequence>

<xs:element ref="multimap:Messages" />

</xs:sequence>

<xs:attribute name="id" type="xs:unsignedInt" use="required" />

</xs:complexType>

</xs:element>

<xs:element name="root">

<xs:complexType>

<xs:sequence>

<xs:element name="row">

<xs:complexType>

<xs:sequence>

<xs:element name="D_ADDRESS" type="xs:string" />

<xs:element name="D_SUBURB" />

<xs:element name="DOCKET" type="xs:unsignedInt" />

<xs:element name="DATE_STAMP" type="xs:string" />

<xs:element name="Order_No" type="xs:unsignedLong" />

<xs:element name="PRODUCT_NO" type="xs:string" />

<xs:element name="NET" type="xs:decimal" />

<xs:element name="PRODUCT" type="xs:string" />

<xs:element name="UNIT_COST" type="xs:decimal" />

<xs:element name="SURCHARGE" type="xs:unsignedByte" />

<xs:element name="TRAN_COST" type="xs:decimal" />

<xs:element name="CartCharge" type="xs:unsignedByte" />

<xs:element name="Site_Name" type="xs:string" />

<xs:element name="ACCOUNT" type="xs:string" />

<xs:element name="Start_Date" type="xs:string" />

<xs:element name="End_Date" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

0 Kudos

XML :

<message id="95924">

http://sap.com/xi/XI/SplitAndMerge">

<multimap:Message1>

<root>

<row>

<D_ADDRESS>Service Agreement 700632</D_ADDRESS>

<D_SUBURB/>

<DOCKET>95924</DOCKET>

<DATE_STAMP>18/05/2023</DATE_STAMP>

<Order_No>4511122794</Order_No>

<PRODUCT_NO>GS-BW</PRODUCT_NO>

<NET>37.88</NET>

<PRODUCT>GS-BW Glass Sand</PRODUCT>

<UNIT_COST>20.56</UNIT_COST>

<SURCHARGE>0</SURCHARGE>

<TRAN_COST>778.81</TRAN_COST>

<CartCharge>0</CartCharge>

<Site_Name>SSA</Site_Name>

<ACCOUNT>ECBACIO001</ACCOUNT>

<Start_Date>1/05/2023</Start_Date>

<End_Date>18/05/2023</End_Date>

</row>

</root>

</multimap:Message1>

</multimap:Messages>

</message>

XSD :

<?xml version="1.0" encoding="utf-8"?>

http://sap.com/xi/XI/SplitAndMerge" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs=" http://www.w3.org/2001/XMLSchema">

http://sap.com/xi/XI/SplitAndMerge" />

<xs:element name="message">

<xs:complexType>

<xs:sequence>

<xs:element ref="multimap:Messages" />

</xs:sequence>

<xs:attribute name="id" type="xs:unsignedInt" use="required" />

</xs:complexType>

</xs:element>

<xs:element name="root">

<xs:complexType>

<xs:sequence>

<xs:element name="row">

<xs:complexType>

<xs:sequence>

<xs:element name="D_ADDRESS" type="xs:string" />

<xs:element name="D_SUBURB" />

<xs:element name="DOCKET" type="xs:unsignedInt" />

<xs:element name="DATE_STAMP" type="xs:string" />

<xs:element name="Order_No" type="xs:unsignedLong" />

<xs:element name="PRODUCT_NO" type="xs:string" />

<xs:element name="NET" type="xs:decimal" />

<xs:element name="PRODUCT" type="xs:string" />

<xs:element name="UNIT_COST" type="xs:decimal" />

<xs:element name="SURCHARGE" type="xs:unsignedByte" />

<xs:element name="TRAN_COST" type="xs:decimal" />

<xs:element name="CartCharge" type="xs:unsignedByte" />

<xs:element name="Site_Name" type="xs:string" />

<xs:element name="ACCOUNT" type="xs:string" />

<xs:element name="Start_Date" type="xs:string" />

<xs:element name="End_Date" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

0 Kudos

Hi Yogananda, I am trying to put them in code area, but still not appearing properly. I hope I am not doing anything wrong over here. I was just clicking on code from the above and trying to add over there.

Kind regards

Ramesh

Accepted Solutions (0)

Answers (1)

Answers (1)

barath_dv
Participant
0 Kudos

rmasetty80, Seems like your XML is not properly enclosed. However, try with below XSD that might fits your requirement.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Messages">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Message1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="root">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="row">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="D_ADDRESS" type="xs:string" />
                          <xs:element name="D_SUBURB" />
                          <xs:element name="DOCKET" type="xs:unsignedInt" />
                          <xs:element name="DATE_STAMP" type="xs:string" />
                          <xs:element name="Order_No" type="xs:unsignedLong" />
                          <xs:element name="PRODUCT_NO" type="xs:string" />
                          <xs:element name="NET" type="xs:decimal" />
                          <xs:element name="PRODUCT" type="xs:string" />
                          <xs:element name="UNIT_COST" type="xs:decimal" />
                          <xs:element name="SURCHARGE" type="xs:unsignedByte" />
                          <xs:element name="TRAN_COST" type="xs:decimal" />
                          <xs:element name="CartCharge" type="xs:unsignedByte" />
                          <xs:element name="Site_Name" type="xs:string" />
                          <xs:element name="ACCOUNT" type="xs:string" />
                          <xs:element name="Start_Date" type="xs:string" />
                          <xs:element name="End_Date" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element> 
</xs:schema>

Regards,

Barath Vivekanandan

0 Kudos

Hi Barath, thanks for your xsd but it didn't work. here is my xml for your reference. Kindly check and let me know.

Regards

Ramesh

<message id="95924">
  <multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
    <multimap:Message1>
      <root>
        <row>
          <D_ADDRESS>Service Agreement 700632</D_ADDRESS>
          <D_SUBURB/>
          <DOCKET>95924</DOCKET>
          <DATE_STAMP>18/05/2023</DATE_STAMP>
          <Order_No>4511122794</Order_No>
          <PRODUCT_NO>GS-BW</PRODUCT_NO>
          <NET>37.88</NET>
          <PRODUCT>GS-BW Glass Sand</PRODUCT>
          <UNIT_COST>20.56</UNIT_COST>
          <SURCHARGE>0</SURCHARGE>
          <TRAN_COST>778.81</TRAN_COST>
          <CartCharge>0</CartCharge>
          <Site_Name>SSA</Site_Name>
          <ACCOUNT>ECBACIO001</ACCOUNT>
          <Start_Date>1/05/2023</Start_Date>
          <End_Date>18/05/2023</End_Date>
        </row>
      </root>
    </multimap:Message1>
  </multimap:Messages>
</message>
barath_dv
Participant
0 Kudos

rmasetty80, You need to add the very first tag <message> in my XSD. I hope you are trying to import this XSD into your message mapping, if yes this will work. Please refer below,

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="message">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Messages">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Message1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="root">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="row">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="D_ADDRESS" type="xs:string" />
                                <xs:element name="D_SUBURB" />
                                <xs:element name="DOCKET" type="xs:unsignedInt" />
                                <xs:element name="DATE_STAMP" type="xs:string" />
                                <xs:element name="Order_No" type="xs:unsignedLong" />
                                <xs:element name="PRODUCT_NO" type="xs:string" />
                                <xs:element name="NET" type="xs:decimal" />
                                <xs:element name="PRODUCT" type="xs:string" />
                                <xs:element name="UNIT_COST" type="xs:decimal" />
                                <xs:element name="SURCHARGE" type="xs:unsignedByte" />
                                <xs:element name="TRAN_COST" type="xs:decimal" />
                                <xs:element name="CartCharge" type="xs:unsignedByte" />
                                <xs:element name="Site_Name" type="xs:string" />
                                <xs:element name="ACCOUNT" type="xs:string" />
                                <xs:element name="Start_Date" type="xs:string" />
                                <xs:element name="End_Date" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element> 
</xs:schema>