You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Peter Klotz <pk...@iconet.wn.bawue.de> on 2002/10/04 10:04:45 UTC

REPOST: wsdl2java produces uncompilable code

Hi,

I have a given WSDL file and want to generate client stubs and server 
skeletons for it. The problem is that for whatever reason wsdl2java does 
not generate code for some types defined in the WSDL.

I've browsed the list and tried options without success. Esp. I have 
specified -all.

Please sse attached WSDL files, which is a bit long.
Problems are e.g. no class for ObjectName is generated although its type 
definition is exactly the same as for DisplayName.
No code is generated for all request and response objects such as 
NotificationSet, NotificationAvailability, GetNotifications.
The document is not rpc type but document and uses complex types and 
contents but still that should work and sometimes does, but not always.
I'm not getting exceptions during generation.

The build.xml snipplet is:

<taskdef name="wsdl2java"
          classname="org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask"
          classpathref="itm.classpath.tools"/>
<target name="itm_gen_omi" description="generate OMI client stubs and
         server skeleton">
  <echo message="Generating OMI client and server classes..."/>
  <mkdir dir="${itm.dir.build}/gensrc"/>
  <wsdl2java url="${itm.dir.source}/com/bes/itm/comp/omi/OMI.wsdl"
             output="${itm.dir.build}/gensrc" serverSide="yes"
             skeletonDeploy="yes" typeMappingVersion="1.1" helperGen="no"
             verbose="yes" all="yes" deployScope="session"
             noWrapped="yes" noImports="yes">
     <mapping namespace="urn:omi-org:api"
              package="com.bes.itm.comp.omi.api"/>
   </wsdl2java>
</target>
<target name="itm_java_omi" description="compile OMI client stubs and
         server skeleton">
   <echo message="Compiling generated OMI Java..."/>
   <javac destdir="${itm.dir.build}/classes"
          classpathref="itm.classpath.external" debug="on">
     <src path="${itm.dir.build}/gensrc"/>
   </javac>
</target>


Thanks for any help,

Peter



<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Peter (None) -->
<definitions name="OMI" targetNamespace="urn:omi-org:api" 
xmlns="http://schemas.xmlsoap.org/wsdl/"
              xmlns:omi="urn:omi-org:api" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
	<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="qualified" 
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="omi:getRootObject"/>
	</message>
	<message name="getRootObjectOutput">
		<part name="body" element="omi:objectName"/>
	</message>
	<message name="getObjectDescriptionInput">
		<part name="body" element="omi:getObjectDescription"/>
	</message>
	<message name="getObjectDescriptionOutput">
		<part name="body" element="omi:objectDescriptionSet"/>
	</message>
	<message name="getObjectRelationsInput">
		<part name="body" element="omi:getObjectRelations"/>
	</message>
	<message name="getObjectRelationsOutput">
		<part name="body" element="omi:objectRelations"/>
	</message>
	<message name="invokeOperationInput">
		<part name="body" element="omi:invokeOperation"/>
	</message>
	<message name="invokeOperationOutput">
		<part name="body" element="omi:operationResult"/>
	</message>
	<message name="getAttributeValuesInput">
		<part name="body" element="omi:getAttributeValues"/>
	</message>
	<message name="getAttributeValuesOutput">
		<part name="body" element="omi:attributeValuesSet"/>
	</message>
	<message name="setAttributeValuesInput">
		<part name="body" element="omi:setAttributeValues"/>
	</message>
	<message name="setAttributeValuesOutput">
		<part name="body" element="omi:omiSuccess"/>
	</message>
	<message name="registerNotificationInterestInput">
		<part name="body" element="omi:registerNotificationInterest"/>
	</message>
	<message name="registerNotificationInterestOutput">
		<part name="body" element="omi:omiSuccess"/>
	</message>
	<message name="cancelNotificationInterestInput">
		<part name="body" element="omi:cancelNotificationInterest"/>
	</message>
	<message name="cancelNotificationInterestOutput">
		<part name="body" element="omi:omiSuccess"/>
	</message>
	<message name="getNotificationInterestInput">
		<part name="body" element="omi:getNotificationInterest"/>
	</message>
	<message name="getNotificationInterestOutput">
		<part name="body" element="omi:notificationInterest"/>
	</message>
	<message name="getNotificationAvailabilityInput">
		<part name="body" element="omi:getNotificationAvailability"/>
	</message>
	<message name="getNotificationAvailabilityOutput">
		<part name="body" element="omi:notificationAvailability"/>
	</message>
	<message name="getNotificationsInput">
		<part name="body" element="omi:getNotifications"/>
	</message>
	<message name="getNotificationsOutput">
		<part name="body" element="omi:notificationSet"/>
	</message>
	<message name="registerNotificationListenerInput">
		<part name="body" element="omi:registerNotificationListener"/>
	</message>
	<message name="registerNotificationListenerOutput">
		<part name="body" element="omi:omiSuccess"/>
	</message>
	<message name="omiErrorMsg">
		<part name="body" element="omi:omiError"/>
	</message>
	<portType name="OMIPortType">
		<operation name="getRootObject">
			<input message="omi:getRootObjectInput"/>
			<output message="omi:getRootObjectOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="getObjectDescription">
			<input message="omi:getObjectDescriptionInput"/>
			<output message="omi:getObjectDescriptionOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="getObjectRelations">
			<input message="omi:getObjectRelationsInput"/>
			<output message="omi:getObjectRelationsOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="invokeOperation">
			<input message="omi:invokeOperationInput"/>
			<output message="omi:invokeOperationOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="getAttributeValues">
			<input message="omi:getAttributeValuesInput"/>
			<output message="omi:getAttributeValuesOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="setAttributeValues">
			<input message="omi:setAttributeValuesInput"/>
			<output message="omi:setAttributeValuesOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="registerNotificationInterest">
			<input message="omi:registerNotificationInterestInput"/>
			<output message="omi:registerNotificationInterestOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="cancelNotificationInterest">
			<input message="omi:cancelNotificationInterestInput"/>
			<output message="omi:cancelNotificationInterestOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="getNotificationInterest">
			<input message="omi:getNotificationInterestInput"/>
			<output message="omi:getNotificationInterestOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="getNotificationAvailability">
			<input message="omi:getNotificationAvailabilityInput"/>
			<output message="omi:getNotificationAvailabilityOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="getNotifications">
			<input message="omi:getNotificationsInput"/>
			<output message="omi:getNotificationsOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
		<operation name="registerNotificationListener">
			<input message="omi:registerNotificationListenerInput"/>
			<output message="omi:registerNotificationListenerOutput"/>
			<fault name="error" message="omi:omiErrorMsg"/>
		</operation>
	</portType>
	<binding name="OMISoapBinding" type="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi: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="omi:OMISoapBinding">
			<soap:address location="http://levma03_dt:5555/soap/omi"/>
		</port>
	</service>
</definitions>