WSDL Data Types and Signatures

Use

WSDL is an XML-based language that provides a model for describing Web services.

For data exchange to take place between the back end and the Data Orchestration Engine (DOE), the WSDL that you create has to contain operations that are defined using the following data types and signatures:

Data Types

Data Type

Description

Key

  • Represents a flat structure

    Corresponds to a complex type that contains simple elements

  • Represents composite back-end keys

  • To be used in all operations to represent the back-end key

Object

  • Imported as a data object to DOE

  • Represents a complex hierarchical structure

    Corresponds to a complex type that must contain the Key data type. It can also contain other simple and complex elements.

  • To be used in all operations to represent the data object

Bulk Key

  • Complex type represented by a sequence of elements of the Key data type

  • Corresponds to a table of keys

Bulk Object

  • Complex type represented by a sequence of elements of the Object data type

  • Corresponds to a table of objects.

Services Offered by the Back End

Operation

Request Message

Response Message

Description of Operation

Data Object Type

getList

Last Read Key type Key (Optional - used in mass data semantics)

Key List type Bulk Key

Returns the list of keys for which the instances have to be persisted in the DOE

Mandatory for:

  • Download only

  • Bi-directional

Note: Synchronization type should be set to DOE Triggered

getDetail

Key List type Bulk Key

Object Instances type Bulk Object

Returns the instances for the keys provided in the message. The instances requested

Mandatory for:

  • Download only

  • Bi-directional

Create

Object Instance type Object

Key type Key (Optional for data object uploads and mandatory for others)

Creates the instance and returns the key

Mandatory for:

  • Upload only

Modify

Object Instance type Object

*

Updates the instance

NA

Delete

Key type Key

*

Deletes the instance

NA

* The response messages for Modify and Delete operations are ignored by the DOE.

Example

Example of WSDL Data Types

Key Data Type

<xsd:complexType name="OrderKey">
                <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="1" name="OrderNumber" type="tns:char12"/>
                        <xsd:element maxOccurs="1" minOccurs="1" name="EquipNumber" type="tns:char12"/>
                </xsd:sequence>
</xsd:complexType>
            

Object Data Type

<xsd:complexType name="OrderHeader>
                <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="1" name="OrderNumber" type="tns:char12"/>
                        <xsd:element maxOccurs="1" minOccurs="1" name="OrderDesc" type="tns:char30"/>
                        <xsd:element maxOccurs="1" minOccurs="1" name="EquipNumber" type="tns:char12"/>
                        <xsd:element maxOccurs="1" minOccurs="1" name="EquipDesc" type="tns:char30"/>
                </xsd:sequence>
</xsd:complexType>
            

getList Request Message

<xsd:element name="getListOperationRequest">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element maxOccurs="1" minOccurs="0" name="LastOrderKey" type="tns:OrderKey"/>
                        </xsd:sequence>
                </xsd:complexType>
 </xsd:element>
            

getList Response Message

<xsd:element name="getListOperationResponse">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element maxOccurs="unbounded" minOccurs="0" name="Orderkeys" type="tns:OrderKey"/>
                        </xsd:sequence>
                </xsd:complexType>
</xsd:element>
            

getDetail Request Message

<xsd:element name="getDetailOperationRequest">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element maxOccurs="unbounded" minOccurs="0" name="Orderkeys" type="tns:OrderKey"/>
                        </xsd:sequence>
                </xsd:complexType>
</xsd:element>
            

getDetail Response Message

<xsd:element name="getDetailOperationResponse">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element maxOccurs="unbounded" minOccurs="0" name="OrderHeader" type="tns:OrderHeader"/>
                        </xsd:sequence>
                <xsd:complexType>
</xsd:element>
            

create Request Message

<xsd:element name="createOrderOperationRequest">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element maxOccurs="1" minOccurs="1" name="OrderHead" type="tns:OrderHeader"/>
                        <xsd:sequence>
                <xsd:complexType>
</xsd:element>
            

create Response Message

<xsd:element name="createOrderOperationResponse">
                <xsd:complexType>
                        <xsd:sequence>
                                <xsd:element maxOccurs="1" minOccurs="1" name="OrderResp" type="tns:OrderKey"/>
                        </xsd:sequence>
                </xsd:complexType>
</xsd:element>
            

Services Offered by the DOE

Key Push

The DOE provides an option to the back-end system to upload keys of instances that were created, modified, or deleted in the back-end system. This is to ensure that the back-end, DOE, and devices are in sync. You can use the following Web service definition to push keys to the DOE.

  • Web Service Definition Name: PUSH_KEYS_TO_DOE

  • Port Type: PUSH_KEYS_TO_DOE

  • Operation Name: SmmwBeCallDeltabo

SOAP Request Message for Pushing Keys to the DOE

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="urn:sap-com:document:sap:soap:functions:mc-style"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
        <q0:SmmwBeCallDeltabo>
<BeboName>ORDER_BO</BeboName>
        <R3keys>
                <item>
                        <R3key>ORD1010 EQU111</R3key>
                        <Msgfn>009</Msgn>
                </item>
                <item>
                        <R3key>ORD10111 EQU112</R3key>
                        <Msgfn>004</Msgfn>
                </item>
        </R3keys>
</q0:SmmwBeCallDeltabo>
</soapenv:Body>
</soapenv:Envelope>

            

BeboName corresponds to the back-end business object name that is used while modeling the adapter in the DOE.

R3Key corresponds to an instance comprising of composite keys. For a model that contains composite key types, an R3Key instance can be pushed to the DOE by appending key fields (ORD1010, EQU111) based on the length of the fields.

Msgfn corresponds to specific operations.

  • 009 for insert

  • 003 for delete

  • Any value for update