D SCOM Web Service WSDL Format

Templates translate the XML format of Enterprise Manager events to the XML format required for the endpoint application's web service. To customize your templates, you need to understand the format of both ends so that you know how to map the data. This appendix provides detailed information on the format of the XML document that is required by the SCOM web service. A WSDL file defines the interface that must be used to call a web service. The WSDL defines the structure of the XML document that it accepts and how the web service is to be called. The contents of the WSDL file are listed in the section entitled ”EventService WSDL”.

D.1 EventService WSDL

<wsdl:definitions name="EventService"
    targetNamespace="http://iwavesoftware.com/services/adapter-framework"
    xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://iwavesoftware.com/services/adapter-framework"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
        <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
            targetNamespace="http://iwavesoftware.com/services/adapter-framework"
            xmlns:tns="http://iwavesoftware.com/services/adapter-framework"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:element name="Class" type="tns:eventClass"/>
            <xs:element name="ITObject" type="tns:itObject"/>
            <xs:element name="Object" type="tns:eventObject"/>
            <xs:element name="acknowledge" type="tns:acknowledge"/>
            <xs:element name="acknowledgeResponse" type="tns:acknowledgeResponse"/>
            <xs:element name="assignment" type="tns:assignment"/>
            <xs:element name="categorization" type="tns:categorization"/>
            <xs:element name="change" type="tns:change"/>
            <xs:element name="ci" type="tns:ci"/>
            <xs:element name="ciRef" type="tns:ciRef"/>
            <xs:element name="ciRelationship" type="tns:ciRelationship"/>
            <xs:element name="classification" type="tns:classification"/>
            <xs:element name="clear" type="tns:clear"/>
            <xs:element name="clearResponse" type="tns:clearResponse"/>
            <xs:element name="client-object" type="tns:clientDefinedObject"/>
            <xs:element name="complex-field" type="tns:complexField"/>
            <xs:element name="compliance" type="tns:compliance"/>
            <xs:element name="contact" type="tns:contact"/>
            <xs:element name="container" type="tns:container"/>
            <xs:element name="create" type="tns:create"/>
            <xs:element name="createResponse" type="tns:createResponse"/>
            <xs:element name="data" type="tns:data"/>
            <xs:element name="date-field" type="tns:dateField"/>
            <xs:element name="diary-list-field" type="tns:diaryListField"/>
            <xs:element name="diary-value" type="tns:diaryValue"/>
            <xs:element name="escalation" type="tns:escalation"/>
            <xs:element name="event" type="tns:event"/>
            <xs:element name="find" type="tns:find"/>
            <xs:element name="findResponse" type="tns:findResponse"/>
            <xs:element name="get" type="tns:get"/>
            <xs:element name="getResponse" type="tns:getResponse"/>
            <xs:element name="group" type="tns:group"/>
            <xs:element name="incident" type="tns:incident"/>
            <xs:element name="knowledge" type="tns:knowledge"/>
            <xs:element name="log" type="tns:log"/>
            <xs:element name="metric" type="tns:metric"/>
            <xs:element name="number-field" type="tns:numberField"/>
            <xs:element name="objectReference" type="tns:objectReference"/>
            <xs:element name="problem" type="tns:problem"/>
            <xs:element name="product" type="tns:product"/>
            <xs:element name="resolution" type="tns:resolution"/>
            <xs:element name="source" type="tns:source"/>
            <xs:element name="string-field" type="tns:stringField"/>
            <xs:element name="update" type="tns:update"/>
            <xs:element name="updateResponse" type="tns:updateResponse"/>
            <xs:element name="vendor" type="tns:vendor"/>
            <xs:complexType name="clear">
                <xs:sequence>
                    <xs:element minOccurs="0" name="destination" type="xs:string"/>
                    <xs:element minOccurs="0" name="event" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="event">
                <xs:complexContent>
                    <xs:extension base="tns:itObject">
                        <xs:sequence>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="createDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="description" type="xs:string"/>
                            <xs:element minOccurs="0" name="escalation" type="tns:escalation"/>
                            <xs:element minOccurs="0" name="eventClass" type="tns:eventClass"/>
                            <xs:element minOccurs="0" name="externalEventIdentifier"
                                type="xs:string"/>
                            <xs:element minOccurs="0" name="externalIncidentIdentifier"
                                type="xs:string"/>
                            <xs:element minOccurs="0" name="group" type="tns:group"/>
                            <xs:element minOccurs="0" name="impact" type="xs:string"/>
                            <xs:element minOccurs="0" name="knowledgeRoot">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            name="knowledge" type="tns:knowledge"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="lastModified" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="lastModifiedBy" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="lastModifiedNonConnector" type="xs:dateTime"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="lastRepeatDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="logs">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="log"
                                            type="tns:log"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="maintenanceModeLastModified" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="metric" type="tns:metric"/>
                            <xs:element name="monitorEvent" type="xs:boolean"/>
                            <xs:element minOccurs="0" name="object" type="tns:eventObject"/>
                            <xs:element minOccurs="0" name="owner" type="xs:string"/>
                            <xs:element minOccurs="0" name="priority" type="xs:string"/>
                            <xs:element default="-2147483648" minOccurs="0" name="repeatCount"
                                type="xs:int"/>
                            <xs:element minOccurs="0" name="resolvedBy" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="resolvedDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="severity" type="xs:string"/>
                            <xs:element minOccurs="0" name="source" type="tns:source"/>
                            <xs:element minOccurs="0" name="status" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="statusLastModified" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="summary" type="xs:string"/>
                            <xs:element minOccurs="0" name="type" type="xs:string"/>
                            <xs:element minOccurs="0" name="urgency" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="itObject">
                <xs:sequence>
                    <xs:element minOccurs="0" name="extended-fields">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:choice maxOccurs="unbounded" minOccurs="0">
                                    <xs:element name="string-field" type="tns:stringField"/>
                                    <xs:element name="date-field" type="tns:dateField"/>
                                    <xs:element name="number-field" type="tns:numberField"/>
                                    <xs:element name="diary-list-field" type="tns:diaryListField"/>
                                    <xs:element name="complex-field" type="tns:complexField"/>
                                </xs:choice>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="escalation">
                <xs:sequence>
                    <xs:element name="escalated" type="xs:boolean"/>
                    <xs:element minOccurs="0" name="escalatedBy" type="xs:string"/>
                    <xs:element minOccurs="0" name="server" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="eventClass">
                <xs:sequence>
                    <xs:element minOccurs="0" name="container" type="tns:container"/>
                    <xs:element minOccurs="0" name="description" type="xs:string"/>
                    <xs:element minOccurs="0" name="displayName" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="container">
                <xs:sequence>
                    <xs:element minOccurs="0" name="description" type="xs:string"/>
                    <xs:element minOccurs="0" name="displayName" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="group">
                <xs:sequence>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="version" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="knowledge">
                <xs:sequence>
                    <xs:element minOccurs="0" name="content" type="xs:string"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="dateCreated" type="xs:dateTime"/>
                    <xs:element minOccurs="0" name="description" type="xs:string"/>
                    <xs:element minOccurs="0" name="displayName" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="languageCode" type="xs:string"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="lastModified" type="xs:dateTime"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="status" type="xs:string"/>
                    <xs:element minOccurs="0" name="summary" type="xs:string"/>
                    <xs:element minOccurs="0" name="type" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="log">
                <xs:sequence>
                    <xs:element minOccurs="0" name="extended-fields">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:choice maxOccurs="unbounded" minOccurs="0">
                                    <xs:element name="string-field" type="tns:stringField"/>
                                    <xs:element name="date-field" type="tns:dateField"/>
                                    <xs:element name="number-field" type="tns:numberField"/>
                                    <xs:element name="diary-list-field" type="tns:diaryListField"/>
                                    <xs:element name="complex-field" type="tns:complexField"/>
                                </xs:choice>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="description" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="source" type="xs:string"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="submitDate" type="xs:dateTime"/>
                    <xs:element minOccurs="0" name="submitter" type="xs:string"/>
                    <xs:element minOccurs="0" name="summary" type="xs:string"/>
                    <xs:element minOccurs="0" name="type" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="stringField">
                <xs:simpleContent>
                    <xs:extension base="xs:string">
                        <xs:attribute name="name" type="xs:string" use="required"/>
                    </xs:extension>
                </xs:simpleContent>
            </xs:complexType>
            <xs:complexType name="dateField">
                <xs:simpleContent>
                    <xs:extension base="xs:dateTime">
                        <xs:attribute name="name" type="xs:string" use="required"/>
                    </xs:extension>
                </xs:simpleContent>
            </xs:complexType>
            <xs:complexType name="numberField">
                <xs:simpleContent>
                    <xs:extension base="xs:decimal">
                        <xs:attribute name="name" type="xs:string" use="required"/>
                    </xs:extension>
                </xs:simpleContent>
            </xs:complexType>
            <xs:complexType name="diaryListField">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="diary-value"
                        type="tns:diaryValue"/>
                </xs:sequence>
                <xs:attribute name="name" type="xs:string" use="required"/>
            </xs:complexType>
            <xs:complexType name="diaryValue">
                <xs:simpleContent>
                    <xs:extension base="xs:string">
                        <xs:attribute name="author" type="xs:string"/>
                        <xs:attribute name="timestamp" type="xs:dateTime"/>
                    </xs:extension>
                </xs:simpleContent>
            </xs:complexType>
            <xs:complexType name="complexField">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="string-field" type="tns:stringField"/>
                        <xs:element name="date-field" type="tns:dateField"/>
                        <xs:element name="number-field" type="tns:numberField"/>
                        <xs:element name="diary-list-field" type="tns:diaryListField"/>
                        <xs:element name="complex-field" type="tns:complexField"/>
                    </xs:choice>
                </xs:sequence>
                <xs:attribute name="name" type="xs:string" use="required"/>
            </xs:complexType>
            <xs:complexType name="metric">
                <xs:sequence>
                    <xs:element minOccurs="0" name="category" type="xs:string"/>
                    <xs:element minOccurs="0" name="keyValues">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element maxOccurs="unbounded" minOccurs="0" name="string"
                                    type="xs:string"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="subCategory" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="eventObject">
                <xs:sequence>
                    <xs:element minOccurs="0" name="computerName" type="xs:string"/>
                    <xs:element minOccurs="0" name="displayName" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="inMaintenanceMode" type="xs:boolean"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="state" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="source">
                <xs:sequence>
                    <xs:element minOccurs="0" name="computerName" type="xs:string"/>
                    <xs:element minOccurs="0" name="container" type="tns:container"/>
                    <xs:element minOccurs="0" name="description" type="xs:string"/>
                    <xs:element minOccurs="0" name="displayName" type="xs:string"/>
                    <xs:element minOccurs="0" name="domain" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="type" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="clearResponse">
                <xs:sequence/>
            </xs:complexType>
            <xs:complexType name="update">
                <xs:sequence>
                    <xs:element minOccurs="0" name="destination" type="xs:string"/>
                    <xs:element minOccurs="0" name="event" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="updateResponse">
                <xs:sequence>
                    <xs:element minOccurs="0" name="return" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="acknowledge">
                <xs:sequence>
                    <xs:element minOccurs="0" name="destination" type="xs:string"/>
                    <xs:element minOccurs="0" name="event" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="acknowledgeResponse">
                <xs:sequence>
                    <xs:element minOccurs="0" name="return" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="get">
                <xs:sequence>
                    <xs:element minOccurs="0" name="destination" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="getResponse">
                <xs:sequence>
                    <xs:element minOccurs="0" name="return" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="find">
                <xs:sequence>
                    <xs:element minOccurs="0" name="destination" type="xs:string"/>
                    <xs:element minOccurs="0" name="query" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="findResponse">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="create">
                <xs:sequence>
                    <xs:element minOccurs="0" name="destination" type="xs:string"/>
                    <xs:element minOccurs="0" name="event" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="createResponse">
                <xs:sequence>
                    <xs:element minOccurs="0" name="return" type="tns:event"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType mixed="true" name="clientDefinedObject">
                <xs:sequence>
                    <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
                        processContents="skip"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="incident">
                <xs:complexContent>
                    <xs:extension base="tns:itObject">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="assignee" type="tns:assignment"/>
                            <xs:element minOccurs="0" name="cis">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="ci"
                                            type="tns:ciRef"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="classification"
                                type="tns:classification"/>
                            <xs:element minOccurs="0" name="customer" type="tns:contact"/>
                            <xs:element minOccurs="0" name="description" type="xs:string"/>
                            <xs:element minOccurs="0" name="direct" type="tns:contact"/>
                            <xs:element minOccurs="0" name="impact" type="xs:string"/>
                            <xs:element minOccurs="0" name="log-data">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="log"
                                            type="tns:log"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="logs">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="log"
                                            type="tns:objectReference"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="owner" type="tns:assignment"/>
                            <xs:element minOccurs="0" name="priority" type="xs:string"/>
                            <xs:element minOccurs="0" name="relationships">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            name="relationship" type="tns:objectReference"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="resolution" type="tns:resolution"/>
                            <xs:element minOccurs="0" name="severity" type="xs:string"/>
                            <xs:element minOccurs="0" name="status" type="xs:string"/>
                            <xs:element minOccurs="0" name="summary" type="xs:string"/>
                            <xs:element minOccurs="0" name="urgency" type="xs:string"/>
                            <xs:element minOccurs="0" name="vendor" type="tns:vendor"/>
                            <xs:element minOccurs="0" name="weight" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="assignment">
                <xs:sequence>
                    <xs:element minOccurs="0" name="company" type="xs:string"/>
                    <xs:element minOccurs="0" name="organization" type="xs:string"/>
                    <xs:element minOccurs="0" name="owner" type="xs:string"/>
                    <xs:element minOccurs="0" name="primaryGroup" type="xs:string"/>
                    <xs:element minOccurs="0" name="secondaryGroup" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="ciRef">
                <xs:sequence>
                    <xs:element minOccurs="0" name="extended-fields">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:choice maxOccurs="unbounded" minOccurs="0">
                                    <xs:element name="string-field" type="tns:stringField"/>
                                    <xs:element name="date-field" type="tns:dateField"/>
                                    <xs:element name="number-field" type="tns:numberField"/>
                                    <xs:element name="diary-list-field" type="tns:diaryListField"/>
                                    <xs:element name="complex-field" type="tns:complexField"/>
                                </xs:choice>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="description" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="status" type="xs:string"/>
                    <xs:element minOccurs="0" name="type" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="classification">
                <xs:sequence>
                    <xs:element minOccurs="0" name="company" type="xs:string"/>
                    <xs:element minOccurs="0" name="operational" type="tns:categorization"/>
                    <xs:element minOccurs="0" name="product" type="tns:product"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="reportedDate" type="xs:dateTime"/>
                    <xs:element minOccurs="0" name="reportedSource" type="xs:string"/>
                    <xs:element minOccurs="0" name="serviceType" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="categorization">
                <xs:sequence>
                    <xs:element minOccurs="0" name="tier1" type="xs:string"/>
                    <xs:element minOccurs="0" name="tier2" type="xs:string"/>
                    <xs:element minOccurs="0" name="tier3" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="product">
                <xs:complexContent>
                    <xs:extension base="tns:categorization">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="manufacturer" type="xs:string"/>
                            <xs:element minOccurs="0" name="modelVersion" type="xs:string"/>
                            <xs:element minOccurs="0" name="name" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="contact">
                <xs:sequence>
                    <xs:element minOccurs="0" name="company" type="xs:string"/>
                    <xs:element minOccurs="0" name="department" type="xs:string"/>
                    <xs:element minOccurs="0" name="emailAddress" type="xs:string"/>
                    <xs:element minOccurs="0" name="firstName" type="xs:string"/>
                    <xs:element minOccurs="0" name="lastName" type="xs:string"/>
                    <xs:element minOccurs="0" name="middleName" type="xs:string"/>
                    <xs:element minOccurs="0" name="organization" type="xs:string"/>
                    <xs:element minOccurs="0" name="phoneNumber" type="xs:string"/>
                    <xs:element minOccurs="0" name="site" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="objectReference">
                <xs:sequence>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="role" type="xs:string"/>
                    <xs:element minOccurs="0" name="type" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="resolution">
                <xs:complexContent>
                    <xs:extension base="tns:categorization">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="cause" type="xs:string"/>
                            <xs:element minOccurs="0" name="closureSource" type="xs:string"/>
                            <xs:element minOccurs="0" name="detail" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="forecastResolutionDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="method" type="xs:string"/>
                            <xs:element minOccurs="0" name="product" type="tns:product"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="requiredDate" type="xs:dateTime"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="resolutionDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="satisfactionRating" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="vendor">
                <xs:sequence>
                    <xs:element minOccurs="0" name="assignmentStatus" type="xs:string"/>
                    <xs:element minOccurs="0" name="contact" type="tns:contact"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="reportedToVendorDate" type="xs:dateTime"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="resolvedDate" type="xs:dateTime"/>
                    <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                        name="respondedToVendorDate" type="xs:dateTime"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="ci">
                <xs:complexContent>
                    <xs:extension base="tns:itObject">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="assignee" type="xs:string"/>
                            <xs:element minOccurs="0" name="category" type="xs:string"/>
                            <xs:element minOccurs="0" name="className" type="xs:string"/>
                            <xs:element minOccurs="0" name="classNamespace" type="xs:string"/>
                            <xs:element minOccurs="0" name="compliance" type="tns:compliance"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="createDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="datasetId" type="xs:string"/>
                            <xs:element minOccurs="0" name="description" type="xs:string"/>
                            <xs:element minOccurs="0" name="hostName" type="xs:string"/>
                            <xs:element minOccurs="0" name="item" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="lastModified" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="lastModifiedBy" type="xs:string"/>
                            <xs:element minOccurs="0" name="manufacturer" type="xs:string"/>
                            <xs:element minOccurs="0" name="model" type="xs:string"/>
                            <xs:element minOccurs="0" name="name" type="xs:string"/>
                            <xs:element minOccurs="0" name="relationships">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            name="relationship" type="tns:ciRelationship"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="serialNumber" type="xs:string"/>
                            <xs:element minOccurs="0" name="status" type="xs:string"/>
                            <xs:element minOccurs="0" name="submitter" type="xs:string"/>
                            <xs:element minOccurs="0" name="summary" type="xs:string"/>
                            <xs:element minOccurs="0" name="type" type="xs:string"/>
                            <xs:element minOccurs="0" name="version" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="compliance">
                <xs:sequence>
                    <xs:element minOccurs="0" name="policyIdentifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="policyName" type="xs:string"/>
                    <xs:element minOccurs="0" name="status" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="ciRelationship">
                <xs:sequence>
                    <xs:element minOccurs="0" name="className" type="xs:string"/>
                    <xs:element minOccurs="0" name="classNamespace" type="xs:string"/>
                    <xs:element minOccurs="0" name="datasetId" type="xs:string"/>
                    <xs:element minOccurs="0" name="identifier" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" type="xs:string"/>
                    <xs:element minOccurs="0" name="sourceRole" type="xs:string"/>
                    <xs:element minOccurs="0" name="targets">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
                                    type="tns:objectReference"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="change">
                <xs:complexContent>
                    <xs:extension base="tns:itObject">
                        <xs:sequence>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="actualEnd" type="xs:dateTime"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="actualStart" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="businessJustification" type="xs:string"/>
                            <xs:element minOccurs="0" name="categorization"
                                type="tns:categorization"/>
                            <xs:element minOccurs="0" name="company" type="xs:string"/>
                            <xs:element minOccurs="0" name="createDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="description" type="xs:string"/>
                            <xs:element minOccurs="0" name="impact" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="lastModified" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="lastModifiedBy" type="xs:string"/>
                            <xs:element minOccurs="0" name="logs">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="log"
                                            type="tns:objectReference"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="priority" type="xs:string"/>
                            <xs:element minOccurs="0" name="product" type="tns:product"/>
                            <xs:element minOccurs="0" name="reason" type="xs:string"/>
                            <xs:element minOccurs="0" name="relationships">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            name="relationship" type="tns:objectReference"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="requester" type="tns:contact"/>
                            <xs:element minOccurs="0" name="riskLevel" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="scheduledEnd" type="xs:dateTime"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="scheduledStart" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="status" type="xs:string"/>
                            <xs:element minOccurs="0" name="summary" type="xs:string"/>
                            <xs:element minOccurs="0" name="timing" type="xs:string"/>
                            <xs:element minOccurs="0" name="type" type="xs:string"/>
                            <xs:element minOccurs="0" name="urgency" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="problem">
                <xs:complexContent>
                    <xs:extension base="tns:itObject">
                        <xs:sequence>
                            <xs:element minOccurs="0" name="categorization"
                                type="tns:categorization"/>
                            <xs:element minOccurs="0" name="company" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="createDate" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="description" type="xs:string"/>
                            <xs:element minOccurs="0" name="externalProblemIdentifier"
                                type="xs:string"/>
                            <xs:element minOccurs="0" name="impact" type="xs:string"/>
                            <xs:element minOccurs="0" name="investigationDriver" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="lastModified" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="lastModifiedBy" type="xs:string"/>
                            <xs:element minOccurs="0" name="logs">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0" name="log"
                                            type="tns:objectReference"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="priority" type="xs:string"/>
                            <xs:element minOccurs="0" name="product" type="tns:product"/>
                            <xs:element minOccurs="0" name="relationships">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element maxOccurs="unbounded" minOccurs="0"
                                            name="relationship" type="tns:objectReference"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element minOccurs="0" name="requester" type="tns:contact"/>
                            <xs:element minOccurs="0" name="rootCause" type="xs:string"/>
                            <xs:element minOccurs="0" name="severity" type="xs:string"/>
                            <xs:element minOccurs="0" name="status" type="xs:string"/>
                            <xs:element minOccurs="0" name="summary" type="xs:string"/>
                            <xs:element default="1970-01-01T00:00:00.0-00:00" minOccurs="0"
                                name="targetResolution" type="xs:dateTime"/>
                            <xs:element minOccurs="0" name="urgency" type="xs:string"/>
                            <xs:element minOccurs="0" name="weight" type="xs:string"/>
                            <xs:element minOccurs="0" name="workaround" type="xs:string"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="data">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="string-field" type="tns:stringField"/>
                        <xs:element name="date-field" type="tns:dateField"/>
                        <xs:element name="number-field" type="tns:numberField"/>
                        <xs:element name="diary-list-field" type="tns:diaryListField"/>
                        <xs:element name="complex-field" type="tns:complexField"/>
                    </xs:choice>
                </xs:sequence>
            </xs:complexType>
            <xs:element name="UnsupportedOperationException"
                type="tns:UnsupportedOperationException"/>
            <xs:complexType name="UnsupportedOperationException">
                <xs:sequence/>
            </xs:complexType>
            <xs:element name="OperationsException" type="tns:OperationsException"/>
            <xs:complexType name="OperationsException">
                <xs:sequence/>
            </xs:complexType>
            <xs:element name="ObjectNotFoundException" type="tns:ObjectNotFoundException"/>
            <xs:complexType name="ObjectNotFoundException">
                <xs:sequence/>
            </xs:complexType>
            <xs:element name="NonRecoverableOperationsException"
                type="tns:NonRecoverableOperationsException"/>
            <xs:complexType name="NonRecoverableOperationsException">
                <xs:sequence/>
            </xs:complexType>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="getResponse">
        <wsdl:part element="tns:getResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="create">
        <wsdl:part element="tns:create" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="clearResponse">
        <wsdl:part element="tns:clearResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="NonRecoverableOperationsException">
        <wsdl:part element="tns:NonRecoverableOperationsException"
            name="NonRecoverableOperationsException"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="acknowledgeResponse">
        <wsdl:part element="tns:acknowledgeResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="update">
        <wsdl:part element="tns:update" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="ObjectNotFoundException">
        <wsdl:part element="tns:ObjectNotFoundException" name="ObjectNotFoundException"
        > </wsdl:part>
    </wsdl:message>
    <wsdl:message name="acknowledge">
        <wsdl:part element="tns:acknowledge" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="get">
        <wsdl:part element="tns:get" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="createResponse">
        <wsdl:part element="tns:createResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="findResponse">
        <wsdl:part element="tns:findResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="OperationsException">
        <wsdl:part element="tns:OperationsException" name="OperationsException"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="find">
        <wsdl:part element="tns:find" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="clear">
        <wsdl:part element="tns:clear" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:message name="UnsupportedOperationException">
        <wsdl:part element="tns:UnsupportedOperationException" name="UnsupportedOperationException"
        > </wsdl:part>
    </wsdl:message>
    <wsdl:message name="updateResponse">
        <wsdl:part element="tns:updateResponse" name="parameters"> </wsdl:part>
    </wsdl:message>
    <wsdl:portType name="IEventServiceDestination">
        <wsdl:operation name="clear">
            <wsdl:input message="tns:clear" name="clear"> </wsdl:input>
            <wsdl:output message="tns:clearResponse" name="clearResponse"> </wsdl:output>
            <wsdl:fault message="tns:ObjectNotFoundException" name="ObjectNotFoundException"> </wsdl:fault>
            <wsdl:fault message="tns:UnsupportedOperationException"
                name="UnsupportedOperationException"> </wsdl:fault>
            <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
            <wsdl:fault message="tns:NonRecoverableOperationsException"
                name="NonRecoverableOperationsException"> </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="update">
            <wsdl:input message="tns:update" name="update"> </wsdl:input>
            <wsdl:output message="tns:updateResponse" name="updateResponse"> </wsdl:output>
            <wsdl:fault message="tns:ObjectNotFoundException" name="ObjectNotFoundException"> </wsdl:fault>
            <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
            <wsdl:fault message="tns:NonRecoverableOperationsException"
                name="NonRecoverableOperationsException"> </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="acknowledge">
            <wsdl:input message="tns:acknowledge" name="acknowledge"> </wsdl:input>
            <wsdl:output message="tns:acknowledgeResponse" name="acknowledgeResponse"> </wsdl:output>
            <wsdl:fault message="tns:ObjectNotFoundException" name="ObjectNotFoundException"> </wsdl:fault>
            <wsdl:fault message="tns:UnsupportedOperationException"
                name="UnsupportedOperationException"> </wsdl:fault>
            <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
            <wsdl:fault message="tns:NonRecoverableOperationsException"
                name="NonRecoverableOperationsException"> </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="get">
            <wsdl:input message="tns:get" name="get"> </wsdl:input>
            <wsdl:output message="tns:getResponse" name="getResponse"> </wsdl:output>
            <wsdl:fault message="tns:ObjectNotFoundException" name="ObjectNotFoundException"> </wsdl:fault>
            <wsdl:fault message="tns:UnsupportedOperationException"
                name="UnsupportedOperationException"> </wsdl:fault>
            <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
            <wsdl:fault message="tns:NonRecoverableOperationsException"
                name="NonRecoverableOperationsException"> </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="find">
            <wsdl:input message="tns:find" name="find"> </wsdl:input>
            <wsdl:output message="tns:findResponse" name="findResponse"> </wsdl:output>
            <wsdl:fault message="tns:UnsupportedOperationException"
                name="UnsupportedOperationException"> </wsdl:fault>
            <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
            <wsdl:fault message="tns:NonRecoverableOperationsException"
                name="NonRecoverableOperationsException"> </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="create">
            <wsdl:input message="tns:create" name="create"> </wsdl:input>
            <wsdl:output message="tns:createResponse" name="createResponse"> </wsdl:output>
            <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
            <wsdl:fault message="tns:NonRecoverableOperationsException"
                name="NonRecoverableOperationsException"> </wsdl:fault>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="EventServiceSoapBinding" type="tns:IEventServiceDestination">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="clear">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="clear">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="clearResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="ObjectNotFoundException">
                <soap:fault name="ObjectNotFoundException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="UnsupportedOperationException">
                <soap:fault name="UnsupportedOperationException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="OperationsException">
                <soap:fault name="OperationsException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="NonRecoverableOperationsException">
                <soap:fault name="NonRecoverableOperationsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="update">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="update">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="updateResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="ObjectNotFoundException">
                <soap:fault name="ObjectNotFoundException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="OperationsException">
                <soap:fault name="OperationsException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="NonRecoverableOperationsException">
                <soap:fault name="NonRecoverableOperationsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="acknowledge">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="acknowledge">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="acknowledgeResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="ObjectNotFoundException">
                <soap:fault name="ObjectNotFoundException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="UnsupportedOperationException">
                <soap:fault name="UnsupportedOperationException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="OperationsException">
                <soap:fault name="OperationsException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="NonRecoverableOperationsException">
                <soap:fault name="NonRecoverableOperationsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="get">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="get">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="getResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="ObjectNotFoundException">
                <soap:fault name="ObjectNotFoundException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="UnsupportedOperationException">
                <soap:fault name="UnsupportedOperationException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="OperationsException">
                <soap:fault name="OperationsException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="NonRecoverableOperationsException">
                <soap:fault name="NonRecoverableOperationsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="find">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="find">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="findResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="UnsupportedOperationException">
                <soap:fault name="UnsupportedOperationException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="OperationsException">
                <soap:fault name="OperationsException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="NonRecoverableOperationsException">
                <soap:fault name="NonRecoverableOperationsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="create">
            <soap:operation soapAction="" style="document"/>
            <wsdl:input name="create">
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="createResponse">
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="OperationsException">
                <soap:fault name="OperationsException" use="literal"/>
            </wsdl:fault>
            <wsdl:fault name="NonRecoverableOperationsException">
                <soap:fault name="NonRecoverableOperationsException" use="literal"/>
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="EventService">
        <wsdl:port binding="tns:EventServiceSoapBinding" name="EventServicePort">
            <soap:address location="http://localhost:8080/services/SCOM/EventService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

D.2 SCOMService WSDL

<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions name="SCOMService"
  targetNamespace="http://iwavesoftware.com/services/adapter-framework"
  xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns:tns="http://iwavesoftware.com/services/adapter-framework"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
      targetNamespace="http://iwavesoftware.com/services/adapter-framework"
      xmlns:tns="http://iwavesoftware.com/services/adapter-framework"
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="deregister" type="tns:deregister"/>
      <xs:element name="deregisterResponse" type="tns:deregisterResponse"/>
      <xs:element name="register" type="tns:register"/>
      <xs:element name="registerResponse" type="tns:registerResponse"/>
      <xs:complexType name="deregister">
        <xs:sequence>
          <xs:element minOccurs="0" name="destination" type="xs:string"/>
          <xs:element minOccurs="0" name="deleteSubscriptions" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="deregisterResponse">
        <xs:sequence/>
      </xs:complexType>
      <xs:complexType name="register">
        <xs:sequence>
          <xs:element minOccurs="0" name="destination" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="registerResponse">
        <xs:sequence/>
      </xs:complexType>
      <xs:element name="OperationsException" type="tns:OperationsException"/>
      <xs:complexType name="OperationsException">
        <xs:sequence/>
      </xs:complexType>
      <xs:element name="NonRecoverableOperationsException"
        type="tns:NonRecoverableOperationsException"/>
      <xs:complexType name="NonRecoverableOperationsException">
        <xs:sequence/>
      </xs:complexType>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="OperationsException">
    <wsdl:part element="tns:OperationsException" name="OperationsException"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="registerResponse">
    <wsdl:part element="tns:registerResponse" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="NonRecoverableOperationsException">
    <wsdl:part element="tns:NonRecoverableOperationsException"
      name="NonRecoverableOperationsException"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="deregister">
    <wsdl:part element="tns:deregister" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="register">
    <wsdl:part element="tns:register" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="deregisterResponse">
    <wsdl:part element="tns:deregisterResponse" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="ISCOMService">
    <wsdl:operation name="deregister">
      <wsdl:input message="tns:deregister" name="deregister"> </wsdl:input>
      <wsdl:output message="tns:deregisterResponse" name="deregisterResponse"> </wsdl:output>
      <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
      <wsdl:fault message="tns:NonRecoverableOperationsException"
        name="NonRecoverableOperationsException"> </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="register">
      <wsdl:input message="tns:register" name="register"> </wsdl:input>
      <wsdl:output message="tns:registerResponse" name="registerResponse"> </wsdl:output>
      <wsdl:fault message="tns:OperationsException" name="OperationsException"> </wsdl:fault>
      <wsdl:fault message="tns:NonRecoverableOperationsException"
        name="NonRecoverableOperationsException"> </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="SCOMServiceSoapBinding" type="tns:ISCOMService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="deregister">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="deregister">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="deregisterResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="OperationsException">
        <soap:fault name="OperationsException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="NonRecoverableOperationsException">
        <soap:fault name="NonRecoverableOperationsException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="register">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="register">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="registerResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="OperationsException">
        <soap:fault name="OperationsException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="NonRecoverableOperationsException">
        <soap:fault name="NonRecoverableOperationsException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="SCOMService">
    <wsdl:port binding="tns:SCOMServiceSoapBinding" name="SCOMServicePort">
      <soap:address location="http://localhost:8080/services/SCOM/SCOMService"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>