Showing results for 
Search instead for 
Did you mean: 

use of XCBL in XI

Former Member
0 Kudos


the scenario I want to configure is the following :

ORDERS05 -> IDoc Adapter -> XI -> HTTP Adapter -> Supplier HTTPS server

The supplier told us that we should send him Purchase Orders compliant to the XCBL standard (

So I downloaded a zip file on this website containing a library of XSD files. There are about 30 XSD concerning Order Management (like BaseItemDetailType.xsd, OrderDatesType.xsd, etc.)

As far as I know the usual way to use XSD in XI is :

1. create a data type

2. import the XSD file coresponding to this data type

But this way of working wouldn't be very efficient with XCBL, because I would have to create so many data types just for one interface, and I guess the XSD imports in XI would fail (the XSD reference each others like this <xsd:import namespace="rrn:org.xcbl:schemas/xcbl/v4_0/core/core.xsd" schemaLocation="../../core/core.xsd" />, and I am not sure XI would understand something like ="../../core/core.xsd).

Does anyone know what is the correct way to use this XCBL library in XI ? I guess it must be possible because on the XCBL website, SAP is displayed as a partner of this standard...

Thank you in advance for any help.



Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I have used XCBL to do Orders and Invoices between SAP and external Vendors via XI. Thi si the best way I found to get the XSD in and working.

1) Load the Orders(it is the big daddy structure to be used for the interface) XSD as an

external definition

This gets it in, but does not create the message type

needed for message mapping. So, go to step two

2) Export the WSDL created by the XSD external definition

3) Remove the WSDL tags from the exported WSDL file and save

as an XSD. This can easily be done in XMLSPY.

4) Reimport the new XSD and use it for message interface and

message mapping.

Former Member
0 Kudos

Hi Richard,

thanks for the answers, I had never used this "external definition" feature.

But I still have a problem : I can't find any 'big daddy' orders.xsd in the XCBL library. Any idea on how I could identify it ?

And imagine I can find it, I suppose I would have to import all the 'chidren' xsd on which it is based as external definitions (this means at least the 63 xsdof the 'ordermanagement' directory) ?

Other problem : I made a test with a XSD file called core\PurchaseOrderReferenceType.xsd (I don't think this is the good one, that was just to test the import) => if I do step 2) and 3) the result is exactly the XSD file that the one I imported in step 1)...

But maybe this is because I didn't import the correct 'daddy' xsd structure.

Former Member
0 Kudos

Give me your email address and I will send you the proper XSD for XCBL30. And no, you do not need to pull the others in, this one has the full blown structure in it. Also, if you want the 3.5 or 4.0 version, then you need to download the single root version from, NOT the first Component download on the website. This will be used in XI.

After you have it or I email it to you, I will wlk you through the process if you still hae problems. You may find that the problem do not exist anymore for the messages missing. It is hard to explain in a post

My email is

Kind Regards,


Former Member
0 Kudos


I'm facing the same prolem. I would be very thankful if any one can send me the single data type xsd which can be directly imported into XI as a data type.

My mail ID -

Advance thanks for any help,


Former Member
0 Kudos

Hi Richard,

it is unclear to me, why you needed steps 2-4. You can use the 'Messages' from an External Definition in the definition of a Message Interface and in Message Mappings.

The only precondition is, that the External Definition 'recognizes' them as Messages. You can easily check this on the 'Messages'-tab of the External Definition.