
There is a series of standard schema for describing the message structure at runtime. WSDL (Web Service Description Language), XSD (XML Schema Definition Language), or DTDs (Document Type Definitions) are often used to describe message schema. If a description of the message structure already exists in one of the above formats, you can use it in the ES Repository by importing it as an external definition rather than re-entering it manually using the data type editor.
See also: Messages .
An external definition enables you to import a local WSDL, XSD, or DTD file to the ES Repository and specify which parts of the schema to extract as the description for a message. You can use these extracted message schema as:
In the ES Builder, assigned message schema are labeled as
External Message. As when structuring service interfaces, message schema have the same meaning as message types.
https://www.sdn.sap.com/irj/sdn
The document to be imported must conform to the WSDL, XSD, or DTD standard.
Extracting Message Schema
If the file is not already in WSDL format, the ES Builder converts imported external definitions to a WSDL definition more suitable for further use. During this procedure, the ES Builder identifies the definitions that describe the message structure. Depending on the imported format, you can define the mode for this procedure before import:
Modes for Importing External Definitions
| External Format | Selection Options in Messages List Box | Meaning |
|---|---|---|
|
WSDL |
Do Not Extract Messages |
Definition imported without conversion, to enable central access to the external definition. |
|
All Message Definitions Contained |
All message definitions extracted in WSDL. If the message definition contains more than one part, all parts are grouped together using a superordinate part. |
|
|
Using RPC Style |
||
|
XSD |
Do Not Extract Messages |
See above. |
|
All Elements Contained |
All element definitions interpreted as message schema. |
|
|
All Unreferenced Elements |
Only those element definitions that are not referenced by another element are interpreted as message schema. |
|
|
DTD |
Do Not Extract Messages |
See above. |
|
Message from DOCTYPE |
DOCTYPE tag interpreted as message schema. |
|
|
Message from First ELEMENT |
First ELEMENT tag interpreted as message schema. |
Sources and References to External Documents
WSDL, XSD, and DTD documents can all reference each other. These references are supported as follows in external definitions:
A referencing XSD document contains the following <xsd:import schemaLocation="../common.xsd" />. After this document has been imported, the External References tab page specifies that a second external definition with the source ../common.xsd must be referenced to be able to follow the reference. The reference can be followed if you create a second external definition in the same namespace for the file common.xsd, then import the file using this external definition, and finally enter the string ../common.xsd as the source of this external definition. The editor displays the referenced external definition on the External References tab page for the referencing external definition.
Since references between files usually require a directory structure on the file system, reference conflicts can occur in the ES Repository during the import. More information and examples: Mass Import for External Definitions .
More information: Mass Import for External Definitions .
The following describes the procedure for importing single external definitions.
Create an external definition (see: Creating a New Object ).
You want to import an XSD document myMessage to the ES Repository; this document references three other XSD documents myStr1, myStr2, and myStr3 by using the <include> statement. To import the documents individually, procedure as follows: First, import myMessage. The External References tab page then displays that three documents are referenced and that these documents are not yet in the ES Repository. Next, create further external definitions for myStr1, myStr2, and myStr3 in the same namespace and specify the source for each of these documents. If the source is not contained in the document itself, you will find it in the referencing document. If you refresh the display of the external definition for myMessage, the External References tab page shows that the documents have been found in the ES Repository. You can then navigate to the other referenced external definitions in the ES Repository by double clicking.