I couldn't find all these bug reports and previous posts that Alan Moore told you to look for, so I poked around and found that if your WSDL file doesn't "overload" the word getNotifications (as a type, an element name, and an operation name), the generated files do include a GetNotifications.java. I haven't tried to compile the result yet, but maybe this gives you a place to go forward from.
Thanks for giving me the opportunity to work with WSDL2Java: I didn't know its support for XML schema was so extensive, and I think I understand its usefulness now when I didn't before.
Steve
Peter Klotz wrote:
Hi,
this is the fifth repost of a problem that I'm having since one month
without anybody ever replying to my mail.
I mean I have a, to my best knowledge, valid WSDL file that others
obviously use but WSDL2Java from the 1.0 Axis release does not work for
it. This is not only a problem for me but for everybody that has a
document-style WSDL file and I think it should be of interest to the
Axis community to at least provide some tips!
So please, please, someone that has done something like this or knows of
a well-known problem please have a look at the WSDL file and tell me
what's wrong with either the WSDL file or Axis.
Here comes the problem description:
The attached WSDL file (OMI.wsdl) is document-oriented and has messages
for the call and receive XML documents with names like
"getNotifications" etc. I hope that doesn't disturb Axis.
Now what I see is that wsdl2java never generates a class for such a
message-type like "getNotifications". That is fine as it generates in
the OMIPortType a method call getNotifications(). But for some reason
wsdl2java does not generate a class "GetNotifications" although it
creates a reference to that parameter class in OMIPortType?
Is it because the message type and a type used as argument have the same
name?
Second there is type ObjectName that is used everywhere in the WSDL and
wsdl2java generates plenty of references to this class but for unknown
reason it does not generate a class for it! Although the class for
ObjectName should look exactly the same as "DisplayName" that is generated?
But even more strange, wsdl2java generates additionally references to
ObjectName_ElemType and ObjectName_Type but these names never appear in
the WSDL file and also no classes are generated for this?
So to summarize the following classes are referenced in the generated
source code but no class is generated:
- GetNotifications
- ObjectName
- NotificationSet
And yes I am using Axis 1.0 but that behaviour was the same with b3 and rc1.
Thanks very much for any help,
Peter
------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="OMI" targetNamespace="urn:omi-org:api" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:omi-org:api" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:omids="urn:omi-org:api">
<documentation>WSDL Service Interface for OMI API V1.0. This WSDL
document defines the API calls for interacting with
the OMI Web Service. </documentation>
<types>
<xsd:schema targetNamespace="urn:omi-org:api" xmlns="urn:omi-org:api" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xsd:annotation>
<xsd:documentation xml:lang="en">OMI Version 1.0 API schema</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="lang" type="xsd:string"/>
<xsd:attribute name="errorNumber" type="xsd:string"/>
<xsd:simpleType name="mode1">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="inclusive"/>
<xsd:enumeration value="exclusive"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="mode1" type="mode1"/>
<xsd:simpleType name="mode2">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="poll"/>
<xsd:enumeration value="wait"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="mode2" type="mode2"/>
<xsd:simpleType name="access1">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="access1" type="access1"/>
<xsd:simpleType name="operationResultType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="operationResultType" type="operationResultType"/>
<xsd:simpleType name="description">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="description" type="description"/>
<xsd:simpleType name="displayName">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="displayName" type="displayName"/>
<xsd:simpleType name="tag-value">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:complexType name="operationParam">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="operationParam" type="operationParam"/>
<xsd:simpleType name="omi-severity">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="critical"/>
<xsd:enumeration value="major"/>
<xsd:enumeration value="minor"/>
<xsd:enumeration value="warning"/>
<xsd:enumeration value="info"/>
<xsd:enumeration value="ok"/>
<xsd:enumeration value="indeterminate"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="lastSerial">
<xsd:restriction base="xsd:long"/>
</xsd:simpleType>
<xsd:element name="lastSerial" type="lastSerial"/>
<xsd:simpleType name="nextSerial">
<xsd:restriction base="xsd:long"/>
</xsd:simpleType>
<xsd:element name="nextSerial" type="nextSerial"/>
<xsd:simpleType name="firstSerial">
<xsd:restriction base="xsd:long"/>
</xsd:simpleType>
<xsd:element name="firstSerial" type="firstSerial"/>
<xsd:simpleType name="startSerial">
<xsd:restriction base="xsd:long"/>
</xsd:simpleType>
<xsd:element name="startSerial" type="startSerial"/>
<xsd:simpleType name="endSerial">
<xsd:restriction base="xsd:long"/>
</xsd:simpleType>
<xsd:element name="endSerial" type="endSerial"/>
<xsd:complexType name="metric">
<xsd:attribute name="metricType" type="xsd:string" use="required"/>
<xsd:attribute name="unit" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="metric" type="metric"/>
<xsd:complexType name="omiSuccess">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="omiSuccess" type="omiSuccess"/>
<xsd:complexType name="getRootObject">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="getRootObject" type="getRootObject"/>
<xsd:simpleType name="sourceObject">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="sourceObject" type="sourceObject"/>
<xsd:simpleType name="objectName">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="objectName" type="objectName"/>
<xsd:complexType name="getObjectDescription">
<xsd:sequence>
<xsd:element ref="objectName" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="getObjectDescription" type="getObjectDescription"/>
<xsd:complexType name="attributeInfo">
<xsd:sequence>
<xsd:element ref="description" minOccurs="0"/>
<xsd:element ref="displayName" minOccurs="0"/>
<xsd:element name="type" type="xsd:string"/>
<xsd:element name="metric" type="metric" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="dataType" type="xsd:string" use="optional"/>
<xsd:attribute name="access" type="access1" use="optional"/>
</xsd:complexType>
<xsd:element name="attributeInfo" type="attributeInfo"/>
<xsd:complexType name="operationParamType">
<xsd:sequence>
<xsd:element ref="description" type="xsd:string" minOccurs="0"/>
<xsd:element ref="displayName" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute ref="name" type="xsd:string" use="required"/>
<xsd:attribute ref="dataType" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="operationParamType" type="operationParamType"/>
<xsd:complexType name="operationInfo">
<xsd:sequence>
<xsd:element ref="displayName" type="xsd:string" minOccurs="0"/>
<xsd:element ref="description" type="xsd:string" minOccurs="0"/>
<xsd:element ref="operationResultType" type="xsd:string" minOccurs="0"/>
<xsd:element name="operationParamType" type="operationParamType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute ref="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="operationInfo" type="operationInfo"/>
<xsd:complexType name="notificationInfo">
<xsd:sequence>
<xsd:element name="type" type="xsd:string" minOccurs="0"/>
<xsd:element name="description" type="xsd:string" minOccurs="0"/>
<xsd:element name="displayName" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="notificationInfo" type="notificationInfo"/>
<xsd:complexType name="objectDescription">
<xsd:sequence>
<xsd:element ref="description" minOccurs="0"/>
<xsd:element ref="displayName" minOccurs="0"/>
<xsd:element name="interface" type="xsd:string" maxOccurs="unbounded"/>
<xsd:element name="attributeInfo" type="attributeInfo" maxOccurs="unbounded"/>
<xsd:element name="operationInfo" type="operationInfo" maxOccurs="unbounded"/>
<xsd:element name="notificationInfo" type="notificationInfo" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="object" type="xsd:string" use="required"/>
<xsd:attribute name="lang" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="objectDescription" type="objectDescription"/>
<xsd:complexType name="objectDescriptionSet">
<xsd:sequence>
<xsd:element ref="objectDescription" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="objectDescriptionSet" type="objectDescriptionSet"/>
<xsd:complexType name="getObjectRelations">
<xsd:sequence>
<xsd:element ref="objectName" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="role">
<xsd:sequence>
<xsd:element name="objectName" type="objectName" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="relType" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="getObjectRelations" type="getObjectRelations"/>
<xsd:complexType name="relation">
<xsd:sequence>
<xsd:element name="role" type="role" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="relId" type="xsd:string" use="required"/>
<xsd:attribute name="relType" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:complexType name="objectRelations">
<xsd:sequence>
<xsd:element name="relation" type="relation" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="object" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:element name="objectRelations" type="objectRelations"/>
<xsd:complexType name="invokeOperation">
<xsd:sequence>
<xsd:element ref="objectName"/>
<xsd:element name="operation" type="xsd:string"/>
<xsd:element ref="operationParam" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="invokeOperation" type="invokeOperation"/>
<xsd:simpleType name="operationResult">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="operationResult" type="operationResult"/>
<xsd:complexType name="attributeNames">
<xsd:sequence>
<xsd:element ref="objectName" maxOccurs="unbounded"/>
<xsd:element name="attributeName" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="attributeNames" type="attributeNames"/>
<xsd:complexType name="getAttributeValues">
<xsd:sequence>
<xsd:element ref="attributeNames" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="getAttributeValues" type="getAttributeValues"/>
<xsd:complexType name="attributeValue">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="name" type="xsd:string" use="required"/>
<xsd:attribute ref="lang" type="xsd:string" use="optional"/>
<xsd:attribute ref="errorNumber" type="xsd:string" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="attributeValue" type="attributeValue"/>
<xsd:complexType name="attributeValues">
<xsd:sequence>
<xsd:element ref="objectName" minOccurs="0"/>
<xsd:element name="attributeValue" type="attributeValue" use="optional" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="attributeValues" type="attributeValues"/>
<xsd:complexType name="setAttributeValues">
<xsd:sequence>
<xsd:element ref="attributeValues" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="setAttributeValues" type="setAttributeValues"/>
<xsd:complexType name="attributeValuesSet">
<xsd:sequence>
<xsd:element ref="attributeValues" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="attributeValuesSet" type="attributeValuesSet"/>
<xsd:complexType name="notificationInterest">
<xsd:sequence>
<xsd:element ref="objectName" type="objectName" minOccurs="0" maxOccurs="unbounded" use="optional"/>
</xsd:sequence>
<xsd:attribute name="mode" type="mode1" use="required"/>
</xsd:complexType>
<xsd:element name="notificationInterest" type="notificationInterest"/>
<xsd:complexType name="registerNotificationInterest">
<xsd:sequence>
<xsd:element ref="notificationInterest"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="registerNotificationInterest" type="registerNotificationInterest"/>
<xsd:complexType name="cancelNotificationInterest">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="cancelNotificationInterest" type="cancelNotificationInterest"/>
<xsd:complexType name="getNotificationInterest">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="getNotificationInterest" type="getNotificationInterest"/>
<xsd:complexType name="getNotificationAvailability">
<xsd:complexContent>
<xsd:restriction base="xsd:anyType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="getNotificationAvailability" type="getNotificationAvailability"/>
<xsd:complexType name="notificationAvailability">
<xsd:sequence>
<xsd:element ref="lastSerial"/>
<xsd:element ref="firstSerial"/>
<xsd:element ref="nextSerial"/>
<xsd:element name="lastTime" type="xsd:dateTime"/>
<xsd:element name="firstTime" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="notificationAvailability" type="notificationAvailability"/>
<xsd:complexType name="getNotifications">
<xsd:sequence>
<xsd:element name="startTime" type="xsd:dateTime" minOccurs="0" maxOccurs="unbounded" use="optional"/>
<xsd:element name="endTime" type="xsd:dateTime" minOccurs="0" maxOccurs="unbounded" use="optional"/>
<xsd:element name="startSerial" type="xsd:long" minOccurs="0" maxOccurs="unbounded" use="optional"/>
<xsd:element name="endSerial" type="xsd:long" minOccurs="0" maxOccurs="unbounded" use="optional"/>
<xsd:element ref="maxBatch" type="xsd:long" minOccurs="0" maxOccurs="unbounded" use="optional"/>
</xsd:sequence>
<xsd:attribute name="mode" type="mode2" use="required"/>
</xsd:complexType>
<xsd:element name="getNotifications" type="getNotifications"/>
<xsd:complexType name="resourceTag">
<xsd:simpleContent>
<xsd:extension base="tag-value">
<xsd:attribute name="key" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="resourceTag" type="resourceTag"/>
<xsd:complexType name="correctiveMessage">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="msgId" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="correctiveMessage" type="correctiveMessage"/>
<xsd:complexType name="message">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="lang" type="xsd:string" use="optional"/>
<xsd:attribute name="msgId" type="xsd:string" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="message" type="message"/>
<xsd:complexType name="notification">
<xsd:sequence>
<xsd:element ref="sourceObject" type="sourceObject"/>
<xsd:element ref="type" type="xsd:string"/>
<xsd:element ref="severity" type="omi-severity"/>
<xsd:element ref="serial" type="xsd:long"/>
<xsd:element ref="timeStamp" type="xsd:dateTime"/>
<xsd:element ref="hostName" type="xsd:string"/>
<xsd:element ref="interface" type="xsd:string"/>
<xsd:element ref="origObject" type="xsd:string" use="optional"/>
<xsd:element name="resourceTag" type="xsd:string" use="optional" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="correctiveMessage" type="xsd:string" use="optional"/>
<xsd:element name="message" type="message" use="optional" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="detail" type="notedetail" use="optional"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="notedetail">
<xsd:sequence>
<xsd:element name="serviceException" type="serviceException" use="optional"/>
<xsd:element ref="relation" type="relation" use="optional"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="serviceException">
<xsd:sequence>
<xsd:element ref="user" type="xsd:string" use="optional"/>
<xsd:element ref="sessionId" type="xsd:string" use="optional"/>
<xsd:element ref="message" type="xsd:string" use="optional"/>
<xsd:element ref="ServiceName" type="xsd:string" use="optional"/>
<xsd:element ref="errorDump" type="xsd:string" use="optional"/>
<xsd:element ref="relation" type="relation" use="optional"/>
<xsd:element ref="objectName" type="xsd:string" use="optional"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="notification" type="notification"/>
<xsd:complexType name="notificationSet">
<xsd:sequence>
<xsd:element name="notification" type="notification" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="notificationSet" type="notificationSet"/>
<xsd:complexType name="registerNotificationListener">
<xsd:sequence>
<xsd:element name="listener" type="xsd:string"/>
<xsd:element ref="startSerial"/>
<xsd:element name="maxBatch" type="xsd:long" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="registerNotificationListener" type="registerNotificationListener"/>
<xsd:complexType name="msg">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="msg" type="msg"/>
<xsd:complexType name="error">
<xsd:sequence>
<xsd:element name="message" type="msg"/>
<xsd:element name="detail" type="xsd:long" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="error" type="error"/>
<xsd:complexType name="omiError">
<xsd:sequence>
<xsd:element name="error" type="error" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="omiError" type="omiError"/>
</xsd:schema>
</types>
<message name="getRootObjectInput">
<part name="body" element="omids:getRootObject"/>
</message>
<message name="getRootObjectOutput">
<part name="body" element="omids:objectName"/>
</message>
<message name="getObjectDescriptionInput">
<part name="body" element="omids:getObjectDescription"/>
</message>
<message name="getObjectDescriptionOutput">
<part name="body" element="omids:objectDescriptionSet"/>
</message>
<message name="getObjectRelationsInput">
<part name="body" element="omids:getObjectRelations"/>
</message>
<message name="getObjectRelationsOutput">
<part name="body" element="omids:objectRelations"/>
</message>
<message name="invokeOperationInput">
<part name="body" element="omids:invokeOperation"/>
</message>
<message name="invokeOperationOutput">
<part name="body" element="omids:operationResult"/>
</message>
<message name="getAttributeValuesInput">
<part name="body" element="omids:getAttributeValues"/>
</message>
<message name="getAttributeValuesOutput">
<part name="body" element="omids:attributeValuesSet"/>
</message>
<message name="setAttributeValuesInput">
<part name="body" element="omids:setAttributeValues"/>
</message>
<message name="setAttributeValuesOutput">
<part name="body" element="omids:omiSuccess"/>
</message>
<message name="registerNotificationInterestInput">
<part name="body" element="omids:registerNotificationInterest"/>
</message>
<message name="registerNotificationInterestOutput">
<part name="body" element="omids:omiSuccess"/>
</message>
<message name="cancelNotificationInterestInput">
<part name="body" element="omids:cancelNotificationInterest"/>
</message>
<message name="cancelNotificationInterestOutput">
<part name="body" element="omids:omiSuccess"/>
</message>
<message name="getNotificationInterestInput">
<part name="body" element="omids:getNotificationInterest"/>
</message>
<message name="getNotificationInterestOutput">
<part name="body" element="omids:notificationInterest"/>
</message>
<message name="getNotificationAvailabilityInput">
<part name="body" element="omids:getNotificationAvailability"/>
</message>
<message name="getNotificationAvailabilityOutput">
<part name="body" element="omids:notificationAvailability"/>
</message>
<message name="getNotificationsInput">
<part name="body" element="omids:getNotifications"/>
</message>
<message name="getNotificationsOutput">
<part name="body" element="omids:notificationSet"/>
</message>
<message name="registerNotificationListenerInput">
<part name="body" element="omids:registerNotificationListener"/>
</message>
<message name="registerNotificationListenerOutput">
<part name="body" element="omids:omiSuccess"/>
</message>
<message name="omiErrorMsg">
<part name="body" element="omids:omiError"/>
</message>
<portType name="OMIPortType">
<operation name="getRootObject">
<input message="tns:getRootObjectInput"/>
<output message="tns:getRootObjectOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="getObjectDescription">
<input message="tns:getObjectDescriptionInput"/>
<output message="tns:getObjectDescriptionOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="getObjectRelations">
<input message="tns:getObjectRelationsInput"/>
<output message="tns:getObjectRelationsOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="invokeOperation">
<input message="tns:invokeOperationInput"/>
<output message="tns:invokeOperationOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="getAttributeValues">
<input message="tns:getAttributeValuesInput"/>
<output message="tns:getAttributeValuesOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="setAttributeValues">
<input message="tns:setAttributeValuesInput"/>
<output message="tns:setAttributeValuesOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="registerNotificationInterest">
<input message="tns:registerNotificationInterestInput"/>
<output message="tns:registerNotificationInterestOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="cancelNotificationInterest">
<input message="tns:cancelNotificationInterestInput"/>
<output message="tns:cancelNotificationInterestOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="getNotificationInterest">
<input message="tns:getNotificationInterestInput"/>
<output message="tns:getNotificationInterestOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="getNotificationAvailability">
<input message="tns:getNotificationAvailabilityInput"/>
<output message="tns:getNotificationAvailabilityOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="getNotifications">
<input message="tns:getNotificationsInput"/>
<output message="tns:getNotificationsOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
<operation name="registerNotificationListener">
<input message="tns:registerNotificationListenerInput"/>
<output message="tns:registerNotificationListenerOutput"/>
<fault name="error" message="tns:omiErrorMsg"/>
</operation>
</portType>
<binding name="OMISoapBinding" type="tns:OMIPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getRootObject">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="getObjectDescription">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="getObjectRelations">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="invokeOperation">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="getAttributeValues">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="setAttributeValues">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="registerNotificationInterest">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="cancelNotificationInterest">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="getNotificationInterest">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="getNotificationAvailability">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="getNotifications">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
<operation name="registerNotificationListener">
<soap:operation soapAction="OMI"/>
<input>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
<soap:header element="omids:omiHeader"/>
</input>
<output>
<soap:body parts="body" use="literal" namespace="urn:omi-org:api"/>
</output>
<fault name="error">
<soap:fault namespace="urn:omi-org:api"/>
</fault>
</operation>
</binding>
<service name="OMIService">
<documentation>OMI Web Service</documentation>
<port name="OMIBindingPort" binding="tns:OMISoapBinding">
<soap:address location="http://levma03_dt:5555/soap/omi"/>
</port>
</service>
</definitions>