OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep-raws message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Defining TRP bound web services in WSDL


Matt,

Thanks for making this valuable contribution. I think it will have even
broader implications that our TC.

It would be helpful if you include the diagram from ebXML Messaging Service
spec that shows how the SOAP header, body, ebXML header elements, manifest,
request, payload etc. are laid out. Since many of us do not keep up with that
spec this one picture would help a lot. Also I think you could say less on how
to use WSDL and simply refer to the WSDL spec.

I believe you may have swapped by accident soap-header and soap-body tags on
messageHeader and manifest. messageHeader should be described by soap-header
and manifest should be described by soap-body.

One of teh critical things missing at the moment as far I can see is that we
need to tie this with the existing RAWS abstract service definition for the
registry. We currently have the following files (attached):

Registry.xsd    #XSD Schema replacing Registry.dtd
Registry.wsdl    #Abstract service definition for registry service
RegistrySOAPBinding.wsdl    #Concrete binding to SOAP/HTTP for abstract
service definition in Registry.wsdl

What we need is a Registry_ebXML_MS_Binding.wsdl to provide a concrete binding
to ebXML Messaging Service for abstract service definition in Registry.wsdl

I would be glad to work with you on this. We may also want someone fom TRP to
look over our shoulder. I can talk to Chris Ferris for example.

--
Regards,
Farrukh


Matthew Mackenzie wrote:

> Greetings RAWSers,
>
> My first post, and I bring with me a PDF file.  I brought the idea of
> <see subject> up with Farrukh earlier today, and he thought that this
> group might be interested in this.  It turns out that TRP in WSDL isn't
> that hard, but would benefit from having an abstract definition to make
> it easier to do this.
>
> Comments, please!
>
> --
> Matthew MacKenzie
> Xml Global
> http://www.xmlglobal.com
>
>   ------------------------------------------------------------------------
>                    Name: TRP-WSDL.pdf
>    TRP-WSDL.pdf    Type: Acrobat (application/pdf)
>                Encoding: BASE64

--
Regards,
Farrukh

<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<schema xmlns = "http://www.w3.org/2001/XMLSchema"
	 targetNamespace = "urn:oasis:names:tc:ebxml-regrep:registry:xsd:2.0"
	 xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:registry:xsd:2.0"
	>
	<annotation>
		<documentation xml:lang = "en">The schema for OASIS ebXMl Registry</documentation>
	</annotation>
	<!--Begin information model mapping from ebRIM.-->
	
	
	<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2000/10/XMLSchema-->
	
	<complexType name = "RegistryObjectType">
		<annotation>
			<documentation xml:lang = "en">
id may be empty. If specified it may be in urn:uuid format or be in some
arbitrary format. If id is empty registry must generate globally unique id.

If id is provided and in proper UUID syntax (starts with urn:uuid:) 
registry will honour it.

If id is provided and is not in proper UUID syntax then it is used for
linkage within document and is ignored by the registry. In this case the
registry generates a UUID for id attribute.

id must not be null when object is being retrieved from the registry.

			</documentation>
		</annotation>
		<attribute name = "id" type = "ID"/>
		<attribute name = "name" type = "string"/>
		<attribute name = "description" type = "string"/>
	</complexType>
	<complexType name = "ObjectRefType">
		<annotation>
			<documentation xml:lang = "en"> 
Use to reference an Object by its id.
Specifies the id attribute of the object as its id attribute.
id attribute in ObjectAttributes is exactly the same syntax and semantics as
id attribute in RegistryObject.
			</documentation>
		</annotation>
		<attribute name = "id" type = "ID"/>
	</complexType>
	<element name = "ObjectRef" type = "tns:ObjectRefType"/>
	<element name = "ObjectRefList">
		<annotation>
			<documentation xml:lang = "en">A list of ObjectRefs</documentation>
		</annotation>
		<complexType>
			<sequence minOccurs = "0" maxOccurs = "unbounded">
				<element ref = "tns:ObjectRef"/>
			</sequence>
		</complexType>
	</element>
	<complexType name = "RegistryEntryType">
		<complexContent>
			<extension base = "tns:RegistryObjectType">
				<attribute name = "majorVersion" default = "1" type = "integer"/>
				<attribute name = "minorVersion" default = "0" type = "integer"/>
				<attribute name = "status" type = "string"/>
				<attribute name = "userVersion" type = "string"/>
				<attribute name = "stability" use = "optional" type = "string"/>
				<attribute name = "expirationDate" type = "date"/>
				<attribute name = "objectType" use = "required" type = "string"/>
			</extension>
		</complexContent>
	</complexType>
	
	<!--Following element decl nneds to be lower case but using upper camel case for backward compatibility-->
	
	<element name = "RegistryEntry" type = "tns:RegistryEntryType"/>
	<element name = "Value" type = "string"/>
	<element name = "ValueList">
		<complexType>
			<sequence>
				<element ref = "tns:Value" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "Slot">
		<complexType>
			<sequence>
				<element ref = "tns:ValueList" minOccurs = "0"/>
			</sequence>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "slotType" type = "string"/>
		</complexType>
	</element>
	<element name = "SlotList">
		<complexType>
			<sequence>
				<element ref = "tns:Slot" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<complexType name = "ExtrinsicObjectType">
		<annotation>
			<documentation xml:lang = "en">
ExtrinsicObject are attributes from the ExtrinsicObject interface in ebRIM.
It inherits RegistryEntryAttributes
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryEntry">
				<attribute name = "contentURI" use = "required" type = "anyURI"/>
				<attribute name = "mimeType" type = "string"/>
				<attribute name = "opaque" use = "optional" type = "boolean"/>
			</extension>
		</complexContent>
	</complexType>
	
	<!--Following element decl nneds to be lower case but using upper camel case for backward compatibility-->
	
	<element name = "ExtrinsicObject" type = "tns:ExtrinsicObjectType"/>
	<complexType name = "IntrinsicObjectType">
		<annotation>
			<documentation xml:lang = "en">
IntrinsicObject is the mapping of the IntrinsicObject interface in ebRIM.
It extends RegistryEntry.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryEntry"/>
		</complexContent>
	</complexType>
	<element name = "RegistryEntryList">
		<annotation>
			<documentation xml:lang = "en"> Leaf classes that reflect the concrete classes in ebRIM </documentation>
		</annotation>
		<!--Can we list base class RegistryEntry instead of all sub-types of it??-->
		<complexType>
			<choice minOccurs = "0" maxOccurs = "unbounded">
				<element ref = "tns:Association"/>
				<element ref = "tns:Classification"/>
				<element ref = "tns:ClassificationNode"/>
				<element ref = "tns:Package"/>
				<element ref = "tns:ExternalLink"/>
				<element ref = "tns:ExternalIdentifier"/>
				<element ref = "tns:Organization"/>
				<element ref = "tns:ExtrinsicObject"/>
				<element ref = "tns:ObjectRef"/>
			</choice>
		</complexType>
	</element>
	<complexType name = "ExternalLinkType">
		<annotation>
			<documentation xml:lang = "en">
ExternalLink is the mapping of the same named interface in ebRIM.
It extends IntrinsicObject.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType">
				<attribute name = "externalURI" type = "anyURI"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "ExternalLink" type = "tns:ExternalLinkType"/>
	<complexType name = "ExternalIdentifierType">
		<annotation>
			<documentation xml:lang = "en">
ExternalIdentifier is the mapping of the same named interface in ebRIM.
It extends IntrinsicObject.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType">
				<attribute name = "value" use = "required" type = "string"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "ExternalIdentifier" type = "tns:ExternalIdentifierType"/>
	<complexType name = "AssociationType1">
		<annotation>
			<documentation xml:lang = "en">
Association is the mapping of the same named interface in ebRIM.
It extends IntrinsicObject.

An Association specifies references to two previously submitted
registry entrys.

The sourceObject is id of the sourceObject in association
The targetObject is id of the targetObject in association
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType">
				<attribute name = "associationType" use = "required" type = "string"/>
				<attribute name = "sourceObject" use = "required" type = "IDREF"/>
				<attribute name = "targetObject" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "Association" type = "tns:AssociationType1"/>
	<complexType name = "ClassificationType">
		<annotation>
			<documentation xml:lang = "en">
Classification is the mapping of the same named interface in ebRIM.
It extends IntrinsicObject.

A Classification specifies references to two registry entrys.

The classifiedObject is id of the Object being classified.
The classificationNode is id of the ClassificationNode classying the object
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType">
				<attribute name = "classifiedObject" use = "required" type = "IDREF"/>
				<attribute name = "classificationNode" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "Classification" type = "tns:ClassificationType"/>
	<complexType name = "PackageType">
		<annotation>
			<documentation xml:lang = "en">
Package is the mapping of the same named interface in ebRIM.
It extends IntrinsicObject.

A Package is a named collection of objects.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType"/>
		</complexContent>
	</complexType>
	<element name = "Package" type = "tns:PackageType"/>
	
	<!--??Need to fix TelephoneNumbers at the cost of backward compatibility-->
	
	<complexType name = "TelephoneNumberType">
		<annotation>
			<documentation xml:lang = "en">
TelephoneNumber is the mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<attribute name = "areaCode" use = "required" type = "string"/>
		<attribute name = "contryCode" use = "required" type = "string"/>
		<attribute name = "extension" type = "string"/>
		<attribute name = "number" use = "required" type = "string"/>
		<attribute name = "url" type = "anyURI"/>
	</complexType>
	<element name = "TelephoneNumber" type = "tns:TelephoneNumberType"/>
	<element name = "FaxNumber" type = "tns:TelephoneNumberType"/>
	<element name = "MobileTelephoneNumber" type = "tns:TelephoneNumberType"/>
	<element name = "PagerNumber" type = "tns:TelephoneNumberType"/>
	<complexType name = "PostalAddressType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<attribute name = "city" use = "required" type = "string"/>
		<attribute name = "country" use = "required" type = "string"/>
		<attribute name = "postalCode" use = "required" type = "string"/>
		<attribute name = "state" type = "string"/>
		<attribute name = "street" use = "required" type = "string"/>
	</complexType>
	<element name = "PostalAddress" type = "tns:PostalAddressType"/>
	<complexType name = "PersonNameType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<attribute name = "firstName" use = "required" type = "string"/>
		<attribute name = "middleName" type = "string"/>
		<attribute name = "lastName" use = "required" type = "string"/>
	</complexType>
	<element name = "PersonName" type = "tns:PersonNameType"/>
	<complexType name = "OrganizationType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType">
				<attribute name = "parent" type = "IDREF"/>
				<attribute name = "primaryContact" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "Organization" type = "tns:OrganizationType"/>
	<complexType name = "UserType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryObjectType">
				<attribute name = "organization" type = "IDREF"/>
				<attribute name = "email" type = "string"/>
				<attribute name = "url" type = "anyURI"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "User" type = "tns:UserType"/>
	<complexType name = "AuditableEventType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryObjectType">
				<attribute name = "eventType" use = "required" type = "string"/>
				<attribute name = "registryEntry" use = "required" type = "IDREF"/>
				<attribute name = "timestamp" use = "required" type = "string"/>
				<attribute name = "user" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "AuditableEvent" type = "tns:AuditableEventType"/>
	<complexType name = "ClassificationNodeType">
		<annotation>
			<documentation xml:lang = "en">
ClassificationNode is the mapping of the same named interface in ebRIM.
It extends IntrinsicObject.

ClassificationNode is used to submit a Classification tree to the Registry.

The parent attribute is the id to the parent node. code is an optional code value for a ClassificationNode
often defined by an external taxonomy (e.g. NAICS)
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:IntrinsicObjectType">
				<attribute name = "parent" type = "IDREF"/>
				<attribute name = "code" type = "string"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "ClassificationNode" type = "tns:ClassificationNodeType"/>
	
	<!--
End information model mapping.
Begin Registry Services Interface
	-->
	
	<element name = "RequestAcceptedResponse">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRS.
			</documentation>
		</annotation>
		<complexType/>
	</element>
	<element name = "SubmitObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The SubmitObjectsRequest allows one to submit a list of RegistryEntry elements. Each RegistryEntry element provides metadata for a single submitted object.  Note that the repository item being submitted is in a separate document that is not in this DTD. The ebXML Messaging Services Specfication defines packaging, for submission, of the metadata of a repository item with the repository item itself. The value of the contentURI attribute of the ExtrinsicObject element must be the same as the xlink:href attribute within the Reference element within the Manifest element of the MessageHeader.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AddSlotsRequest">
		<complexType>
			<sequence maxOccurs = "unbounded">
				<element ref = "tns:ObjectRef"/>
				<element ref = "tns:SlotList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RemoveSlotsRequest">
		<annotation>
			<documentation xml:lang = "en"> Only need name in Slot within SlotList </documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs = "unbounded">
				<element ref = "tns:ObjectRef"/>
				<element ref = "tns:SlotList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ApproveObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The ObjectRefList is the list of
refs to the registry entrys being approved.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "DeprecateObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The ObjectRefList is the list of
refs to the registry entrys being deprecated.

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RemoveObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The ObjectRefList is the list of
refs to the registry entrys being removed

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
			<attribute name = "deletionScope" use = "optional">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "DeleteAll"/>
						<enumeration value = "DeleteRepositoryItemOnly"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "GetRootClassificationNodesRequest">
		<complexType>
			<attribute name = "namePattern" use = "optional" type = "string">
				<annotation>
					<documentation xml:lang = "en">
The namePattern follows SQL-92 syntax for the pattern specified in
LIKE clause. It allows for selecting only those root nodes that match
the namePattern. The default value of '*' matches all root nodes.

					</documentation>
				</annotation>
			</attribute>
		</complexType>
	</element>
	<element name = "GetRootClassificationNodesResponse">
		<annotation>
			<documentation xml:lang = "en">
The response includes one or more ClassificationNodes

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationNode" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "GetClassificationTreeRequest">
		<annotation>
			<documentation xml:lang = "en">
Get the classification tree under the ClassificationNode specified parentRef. 

If depth is 1 just fetch immediate child 
nodes, otherwise fetch the descendant tree upto the specified depth level.
If depth is 0 that implies fetch entire sub-tree

			</documentation>
		</annotation>
		<complexType>
			<attribute name = "parent" use = "required" type = "string"/>
			<attribute name = "depth" use = "optional" type = "string"/>
		</complexType>
	</element>
	<element name = "GetClassificationTreeResponse">
		<annotation>
			<documentation xml:lang = "en">
The response includes one or more ClassificationNodes which includes only
immediate ClassificationNode children nodes if depth attribute in 
GetClassificationTreeRequest was 1, otherwise the decendent nodes 
upto specified depth level are returned.

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationNode" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "GetClassifiedObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
Get refs to all registry entrys that are classified by all the 
ClassificationNodes specified by ObjectRefList. 
Note this is an implicit logical AND operation 

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
			<attribute name = "objectType" use = "optional" type = "string">
				<annotation>
					<documentation xml:lang = "en">
objectType attribute can specify the type of objects that the registry
client is interested in, that is classified by this ClassificationNode.
It is a String that matches a choice in the type attribute of ExtrinsicObject.
The default value of "" "*" that client is interested in all types
of registry entrys that are classified by the specified ClassificationNode. 

					</documentation>
				</annotation>
			</attribute>
		</complexType>
	</element>
	<element name = "GetClassifiedObjectsResponse">
		<annotation>
			<documentation xml:lang = "en">
The response includes a sequence of zero or more
RegistryEntrys that are classified by the ClassificationNodes 
specified in the ObjectRefList in GetClassifiedObjectsRequest.

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntry" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AdhocQueryRequest">
		<annotation>
			<documentation xml:lang = "en">
An Ad hoc query request specifies a query string as defined by [RS] in the queryString attribute

			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:FilterQuery"/>
				<element ref = "tns:ReturnRegistryEntry"/>
				<element ref = "tns:ReturnRepositoryItem"/>
				<element ref = "tns:SQLQuery"/>
			</choice>
		</complexType>
	</element>
	<element name = "SQLQuery" type = "string"/>
	<element name = "AdhocQueryResponse">
		<annotation>
			<documentation xml:lang = "en">
The response includes a RegistryEntryList which has zero or more
RegistryEntrys that match the query specified in AdhocQueryRequest.

			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:RegistryEntryList"/>
				<element ref = "tns:FilterQueryResult"/>
				<element ref = "tns:ReturnRegistryEntryResult"/>
				<element ref = "tns:ReturnRepositoryItemResult"/>
			</choice>
		</complexType>
	</element>
	<element name = "GetContentRequest">
		<annotation>
			<documentation xml:lang = "en">
Gets the actual content (not metadata) specified by the ObjectRefList

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "GetContentResponse">
		<annotation>
			<documentation xml:lang = "en">
The GetObjectsResponse will have no sub-elements if there were no errors.
The actual contents will be in the other payloads of the message.  

			</documentation>
		</annotation>
		<complexType/>
	</element>
	<element name = "RegistryProfile">
		<annotation>
			<documentation xml:lang = "en">
Describes the capability profile for the registry and what optional features
are supported

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:OptionalFeaturesSupported"/>
			</sequence>
			<attribute name = "version" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "OptionalFeaturesSupported">
		<complexType>
			<attribute name = "sqlQuery" default = "false" type = "boolean"/>
			<attribute name = "xQuery" default = "false" type = "boolean"/>
		</complexType>
	</element>
	<element name = "FilterQuery">
		<annotation>
			<documentation xml:lang = "en"> Begin FilterQuery DTD </documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:RegistryEntryQuery"/>
				<element ref = "tns:AuditableEventQuery"/>
				<element ref = "tns:ClassificationNodeQuery"/>
				<element ref = "tns:RegistryPackageQuery"/>
				<element ref = "tns:OrganizationQuery"/>
			</choice>
		</complexType>
	</element>
	<element name = "FilterQueryResult">
		<complexType>
			<choice>
				<element ref = "tns:RegistryEntryQueryResult"/>
				<element ref = "tns:AuditableEventQueryResult"/>
				<element ref = "tns:ClassificationNodeQueryResult"/>
				<element ref = "tns:RegistryPackageQueryResult"/>
				<element ref = "tns:OrganizationQueryResult"/>
			</choice>
		</complexType>
	</element>
	<element name = "RegistryEntryQueryResult">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryEntryView">
		<complexType>
			<attribute name = "objectURN" use = "required" type = "string"/>
			<attribute name = "contentURI" type = "string"/>
			<attribute name = "objectID" type = "string"/>
		</complexType>
	</element>
	<element name = "AuditableEventQueryResult">
		<complexType>
			<sequence>
				<element ref = "tns:AuditableEventView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AuditableEventView">
		<complexType>
			<attribute name = "objectID" use = "required" type = "string"/>
			<attribute name = "timestamp" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "ClassificationNodeQueryResult">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationNodeView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationNodeView">
		<complexType>
			<attribute name = "objectURN" use = "required" type = "string"/>
			<attribute name = "contentURI" type = "string"/>
			<attribute name = "objectID" type = "string"/>
		</complexType>
	</element>
	<element name = "RegistryPackageQueryResult">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryPackageView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryPackageView">
		<complexType>
			<attribute name = "objectURN" use = "required" type = "string"/>
			<attribute name = "contentURI" type = "string"/>
			<attribute name = "objectID" type = "string"/>
		</complexType>
	</element>
	<element name = "OrganizationQueryResult">
		<complexType>
			<sequence>
				<element ref = "tns:OrganizationView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "OrganizationView">
		<complexType>
			<attribute name = "orgURN" use = "required" type = "string"/>
			<attribute name = "objectID" type = "string"/>
		</complexType>
	</element>
	<complexType name = "FilterType">
		<annotation>
			<documentation xml:lang = "en">
A FilterType is used as a commonly use data type that defines a Filter 
			</documentation>
		</annotation>
		<sequence>
			<element ref = "tns:Clause"/>
		</sequence>
	</complexType>
	<element name = "RegistryEntryQuery">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryFilter" minOccurs = "0"/>
				<element ref = "tns:SourceAssociationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:TargetAssociationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:HasClassificationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:SubmittingOrganizationBranch" minOccurs = "0"/>
				<element ref = "tns:ResponsibleOrganizationBranch" minOccurs = "0"/>
				<element ref = "tns:ExternalIdentifierFilter" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:ExternalLinkFilter" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:SlotFilter" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:HasAuditableEventBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<complexType name = "AssociationBranchType">
		<annotation>
			<documentation xml:lang = "en">
A AssociationBranchType is used as a commonly use data type that defines an AssociationBranch 
			</documentation>
		</annotation>
		<sequence>
			<element ref = "tns:AssociationFilter" minOccurs = "0"/>
			<element ref = "tns:RegistryEntryFilter" minOccurs = "0"/>
		</sequence>
	</complexType>
	<element name = "SourceAssociationBranch" type = "tns:AssociationBranchType"/>
	<element name = "TargetAssociationBranch" type = "tns:AssociationBranchType"/>
	<element name = "HasClassificationBranch">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationFilter" minOccurs = "0"/>
				<element ref = "tns:ClassificationNodeFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SubmittingOrganizationBranch">
		<complexType>
			<sequence>
				<element ref = "tns:OrganizationFilter" minOccurs = "0"/>
				<element ref = "tns:ContactFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ResponsibleOrganizationBranch">
		<complexType>
			<sequence>
				<element ref = "tns:OrganizationFilter" minOccurs = "0"/>
				<element ref = "tns:ContactFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasAuditableEventBranch">
		<complexType>
			<sequence>
				<element ref = "tns:AuditableEventFilter" minOccurs = "0"/>
				<element ref = "tns:UserFilter" minOccurs = "0"/>
				<element ref = "tns:OrganizationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AuditableEventQuery">
		<complexType>
			<sequence>
				<element ref = "tns:AuditableEventFilter" minOccurs = "0"/>
				<element ref = "tns:RegistryEntryQuery" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:InvokedByBranch" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "InvokedByBranch">
		<complexType>
			<sequence>
				<element ref = "tns:UserFilter" minOccurs = "0"/>
				<element ref = "tns:OrganizationQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationNodeQuery">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "tns:PermitsClassificationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:HasParentNode" minOccurs = "0"/>
				<element ref = "tns:HasSubnode" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "PermitsClassificationBranch">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationFilter" minOccurs = "0"/>
				<element ref = "tns:RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasParentNode">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "tns:HasParentNode" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasSubnode">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "tns:HasSubnode" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryPackageQuery">
		<complexType>
			<sequence>
				<element ref = "tns:PackageFilter" minOccurs = "0"/>
				<element ref = "tns:HasMemberBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasMemberBranch">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "OrganizationQuery">
		<complexType>
			<sequence>
				<element ref = "tns:OrganizationFilter" minOccurs = "0"/>
				<element ref = "tns:SubmitsRegistryEntry" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:HasParentOrganization" minOccurs = "0"/>
				<element ref = "tns:InvokesEventBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:ContactFilter" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SubmitsRegistryEntry">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasParentOrganization">
		<complexType>
			<sequence>
				<element ref = "tns:OrganizationFilter" minOccurs = "0"/>
				<element ref = "tns:HasParentOrganization" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "InvokesEventBranch">
		<complexType>
			<sequence>
				<element ref = "tns:UserFilter" minOccurs = "0"/>
				<element ref = "tns:AuditableEventFilter" minOccurs = "0"/>
				<element ref = "tns:RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ReturnRegistryEntry">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryQuery"/>
				<element ref = "tns:WithClassifications" minOccurs = "0"/>
				<element ref = "tns:WithSourceAssociations" minOccurs = "0"/>
				<element ref = "tns:WithTargetAssociations" minOccurs = "0"/>
				<element ref = "tns:WithAuditableEvents" minOccurs = "0"/>
				<element ref = "tns:WithExternalLinks" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithClassifications">
		<complexType>
			<sequence>
				<element ref = "tns:ClassificationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithSourceAssociations">
		<complexType>
			<sequence>
				<element ref = "tns:AssociationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithTargetAssociations">
		<complexType>
			<sequence>
				<element ref = "tns:AssociationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithAuditableEvents">
		<complexType>
			<sequence>
				<element ref = "tns:AuditableEventFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithExternalLinks">
		<complexType>
			<sequence>
				<element ref = "tns:ExternalLinkFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ReturnRegistryEntryResult">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryMetadata" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryEntryMetadata">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntry"/>
				<element ref = "tns:Classification" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:SourceAssociations" minOccurs = "0"/>
				<element ref = "tns:TargetAssociations" minOccurs = "0"/>
				<element ref = "tns:AuditableEvent" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "tns:ExternalLink" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SourceAssociations">
		<complexType>
			<sequence>
				<element ref = "tns:Association" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "TargetAssociations">
		<complexType>
			<sequence>
				<element ref = "tns:Association" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ReturnRepositoryItem">
		<complexType>
			<sequence>
				<element ref = "tns:RegistryEntryQuery"/>
				<element ref = "tns:RecursiveAssociationOption" minOccurs = "0"/>
				<element ref = "tns:WithDescription" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RecursiveAssociationOption">
		<!--Ask Len about this??-->
		<complexType>
			<sequence>
				<element ref = "tns:AssociationType" maxOccurs = "unbounded"/>
			</sequence>
			<attribute name = "depthLimit" type = "string"/>
		</complexType>
	</element>
	<element name = "AssociationType">
		<!--Ask Len about this??-->
		<complexType>
			<attribute name = "role" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "WithDescription">
		<complexType/>
	</element>
	<element name = "ReturnRepositoryItemResult">
		<complexType>
			<sequence>
				<element ref = "tns:RepositoryItem" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RepositoryItem">
		<complexType>
			<choice>
				<element ref = "tns:RegistryPackage"/>
				<element ref = "tns:ExtrinsicObject"/>
				<element ref = "tns:WithdrawnObject"/>
				<element ref = "tns:ExternalLink"/>
			</choice>
			<attribute name = "identifier" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "contentURI" use = "required" type = "string"/>
			<attribute name = "objectType" use = "required" type = "string"/>
			<attribute name = "status" use = "required" type = "string"/>
			<attribute name = "stability" use = "required" type = "string"/>
			<attribute name = "description" type = "string"/>
		</complexType>
	</element>
	<element name = "RegistryPackage">
		<complexType/>
	</element>
	<element name = "WithdrawnObject">
		<complexType/>
	</element>
	<element name = "ExternalLinkItem">
		<complexType/>
	</element>
	
	<!--Do we need first class elements for each filter use??-->
	
	<element name = "ObjectFilter" type = "tns:FilterType"/>
	<element name = "RegistryEntryFilter" type = "tns:FilterType"/>
	<element name = "IntrinsicObjectFilter" type = "tns:FilterType"/>
	<element name = "ExtrinsicObjectFilter" type = "tns:FilterType"/>
	<element name = "PackageFilter" type = "tns:FilterType"/>
	<element name = "OrganizationFilter" type = "tns:FilterType"/>
	<element name = "ContactFilter" type = "tns:FilterType"/>
	<element name = "ClassificationNodeFilter" type = "tns:FilterType"/>
	<element name = "AssociationFilter" type = "tns:FilterType"/>
	<element name = "ClassificationFilter" type = "tns:FilterType"/>
	<element name = "ExternalLinkFilter" type = "tns:FilterType"/>
	<element name = "SlotFilter" type = "tns:FilterType"/>
	<element name = "ExternalIdentifierFilter" type = "tns:FilterType"/>
	<element name = "AuditableEventFilter" type = "tns:FilterType"/>
	<element name = "UserFilter" type = "tns:FilterType"/>
	<element name = "Clause">
		<annotation>
			<documentation xml:lang = "en">
The following lines define the XML syntax for Clause.

			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:SimpleClause"/>
				<element ref = "tns:CompoundClause"/>
			</choice>
		</complexType>
	</element>
	<element name = "SimpleClause">
		<complexType>
			<choice>
				<element ref = "tns:BooleanClause"/>
				<element ref = "tns:RationalClause"/>
				<element ref = "tns:StringClause"/>
			</choice>
			<attribute name = "leftArgument" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "CompoundClause">
		<complexType>
			<sequence>
				<element ref = "tns:Clause"/>
				<element ref = "tns:Clause" maxOccurs = "unbounded"/>
			</sequence>
			<attribute name = "connectivePredicate" use = "required">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "And"/>
						<enumeration value = "Or"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "BooleanClause">
		<complexType>
			<attribute name = "booleanPredicate" use = "required" type = "boolean"/>
		</complexType>
	</element>
	<element name = "RationalClause">
		<complexType>
			<choice>
				<element ref = "tns:IntClause"/>
				<element ref = "tns:FloatClause"/>
			</choice>
			<attribute name = "logicalPredicate" use = "required">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "LE"/>
						<enumeration value = "LT"/>
						<enumeration value = "GE"/>
						<enumeration value = "GT"/>
						<enumeration value = "EQ"/>
						<enumeration value = "NE"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "IntClause" type = "integer"/>
	<element name = "FloatClause" type = "float"/>
	<element name = "StringClause">
		<complexType>
			<simpleContent>
				<extension base = "string">
					<attribute name = "stringPredicate" use = "required">
						<simpleType>
							<restriction base = "NMTOKEN">
								<enumeration value = "contains"/>
								<enumeration value = "-contains"/>
								<enumeration value = "startswith"/>
								<enumeration value = "-startswith"/>
								<enumeration value = "equal"/>
								<enumeration value = "-equal"/>
								<enumeration value = "endswith"/>
								<enumeration value = "-endswith"/>
							</restriction>
						</simpleType>
					</attribute>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<simpleType name = "ErrorType">
		<restriction base = "NMTOKEN">
			<enumeration value = "Warning"/>
			<enumeration value = "Error"/>
		</restriction>
	</simpleType>
	<element name = "RegistryErrorList">
		<annotation>
			<documentation xml:lang = "en"> End FilterQuery DTD </documentation>
			<documentation xml:lang = "en"> Begin RegistryError definition </documentation>
			<documentation xml:lang = "en"> The RegistryErrorList is derived from the ErrorList element from the ebXML Message Service Specification </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:RegistryError" maxOccurs = "unbounded"/>
			</sequence>
			<attribute name = "highestSeverity" use = "optional" type = "tns:ErrorType"/>
		</complexType>
	</element>
	<element name = "RegistryError">
		<complexType>
			<simpleContent>
				<extension base = "string">
					<attribute name = "codeContext" use = "required" type = "string"/>
					<attribute name = "errorCode" use = "required" type = "string"/>
					<attribute name = "severity" use = "optional" type = "tns:ErrorType"/>
					<attribute name = "location" type = "string"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name = "RegistryResponse">
		<complexType>
			<sequence>
				<choice minOccurs = "0">
					<element ref = "tns:AdhocQueryResponse"/>
					<element ref = "tns:GetContentResponse"/>
					<element ref = "tns:GetClassificationTreeResponse"/>
					<element ref = "tns:GetClassifiedObjectsResponse"/>
					<element ref = "tns:GetRootClassificationNodesResponse"/>
				</choice>
				<element ref = "tns:RegistryErrorList" minOccurs = "0"/>
			</sequence>
			<attribute name = "status" use = "required">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "success"/>
						<enumeration value = "failure"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "RootElement">
		<annotation>
			<documentation xml:lang = "en"> The contrived root node </documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:SubmitObjectsRequest"/>
				<element ref = "tns:ApproveObjectsRequest"/>
				<element ref = "tns:DeprecateObjectsRequest"/>
				<element ref = "tns:RemoveObjectsRequest"/>
				<element ref = "tns:GetRootClassificationNodesRequest"/>
				<element ref = "tns:GetClassificationTreeRequest"/>
				<element ref = "tns:GetClassifiedObjectsRequest"/>
				<element ref = "tns:AdhocQueryRequest"/>
				<element ref = "tns:GetContentRequest"/>
				<element ref = "tns:AddSlotsRequest"/>
				<element ref = "tns:RemoveSlotsRequest"/>
				<element ref = "tns:RegistryResponse"/>
				<element ref = "tns:RegistryProfile"/>
			</choice>
		</complexType>
	</element>
	<element name = "Href" type = "string"/>
	<element name = "XMLDocumentErrorLocn">
		<complexType>
			<sequence>
				<element ref = "tns:DocumentId"/>
				<element ref = "tns:Xpath"/>
			</sequence>
		</complexType>
	</element>
	<element name = "DocumentId" type = "string"/>
	<element name = "Xpath" type = "string"/>
	<element name = "PackageType">
		<complexType/>
	</element>
</schema>
<?xml version = "1.0" encoding = "UTF-8"?>
<definitions name = "ObjectQueryManager" 
	targetNamespace = "urn:oasis:names:tc:ebxml-regrep:services:wsdl:2.0" 
	xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:services:wsdl:2.0" 
	xmlns:xsd1 = "urn:oasis:names:tc:ebxml-regrep:registry:xsd:2.0" 
	xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/" 
	xmlns = "http://schemas.xmlsoap.org/wsdl/"> 

	<!--xmlns:xsi = "http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation = "http://schemas.xmlsoap.org/wsdl/ file:///c:/jsews/ebxmlrr-spec/misc/schema/wsdl.xsd"-->
	<documentation>$Header: /jse/ebxmlrr-spec/misc/services/Registry.wsdl,v 1.8 2001/08/23 14:00:39 najmi Exp $	
This is the the normative abstract WSDL service definition for the OASIS ebXML Registry services.</documentation>
	
	<import namespace = "urn:oasis:names:tc:ebxml-regrep:registry:xsd:2.0" location = "http://www.oasis-open.org/ebxml/registry/2.0/schemas/Registry.xsd"/>    
	<!-- Commonly re-used Messages -->
	    
	<message name = "RegistryResponse">        
		<part name = "RegistryResponse" element = "xsd1:RegistryResponse"/>    
		<!--This part is optional and contains the mime/multippart containing content for a GetContentRequest-->
		    
		<part name = "content" type = "xsd:any"/>    
	</message>    
	<!-- Messages used by ObjectManager -->
	    
	<message name = "GetClassificationTreeRequest">        
		<part name = "GetClassificationTreeRequest" element = "xsd1:GetClassificationTreeRequest"/>    
	</message>    
	<message name = "GetClassifiedObjectsRequest">        
		<part name = "GetClassifiedObjectsRequest" element = "xsd1:GetClassifiedObjectsRequest"/>    
	</message>    
	<message name = "GetContentsRequest">        
		<part name = "GetContentsRequest" element = "xsd1:GetContentsRequest"/>    
	</message>    
	<message name = "GetRootClassificationNodesRequest">        
		<part name = "GetRootClassificationNodesRequest" element = "xsd1:GetRootClassificationNodesRequest"/>    
	</message>
	<message name = "SubmitAdhocQueryRequest">    
		<part name = "SubmitAdhocQueryRequest" element = "xsd1:SubmitAdhocQueryRequest"/>
	</message>
	<!-- Messages used by ObjectManager -->
	<message name = "AddSlotsRequest">    
		<part name = "AddSlotsRequest" element = "xsd1:AddSlotsRequest"/>
	</message>
	<message name = "ApproveObjectsRequest">    
		<part name = "ApproveObjectsRequest" element = "xsd1:ApproveObjectsRequest"/>
	</message>
	<message name = "DeprecateObjectsRequest">    
		<part name = "DeprecateObjectsRequest" element = "xsd1:DeprecateObjectsRequest"/>
	</message>
	<message name = "RemoveObjectsRequest">    
		<part name = "RemoveObjectsRequest" element = "xsd1:RemoveObjectsRequest"/>
	</message>
	<message name = "RemoveSlotsRequest">    
		<part name = "RemoveSlotsRequest" element = "xsd1:RemoveSlotsRequest"/>
	</message>
	<message name = "SubmitObjectsRequest">    
		<part name = "SubmitObjectsRequest" element = "xsd1:SubmitObjectsRequest"/>
		<!--This part is the mime/multippart containing content-->
		<part name = "content" type = "xsd:any"/>
	</message>
	<portType name = "ObjectQueryManagerPortType">
		<documentation>Maps to the ObjectQueryManager interface of Registry Services spec.</documentation>
		<operation name = "getClassificationTree">
			<input message = "tns:GetClassificationTreeRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "getClassifiedObjects">
			<input message = "tns:GetClassifiedObjectsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "getContents">
			<input message = "tns:GetContentsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "getRootClassificationNodes">
			<input message = "tns:GetRootClassificationNodesRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "submitAdhocQuery">
			<input message = "tns:SubmitAdhocQueryRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
	</portType>
	<portType name = "ObjectManagerPortType">
		<documentation>Maps to the ObjectManager interface of Registry Services spec.</documentation>
		<operation name = "addSlots">
			<input message = "tns:AddSlotsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "approveObjectsRequest">
			<input message = "tns:ApproveObjectsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "deprecateObjectsRequest">
			<input message = "tns:DeprecateObjectsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "removeObjectsRequest">
			<input message = "tns:RemoveObjectsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "removeSlotsRequest">
			<input message = "tns:RemoveSlotsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
		<operation name = "submitObjectsRequest">
			<input message = "tns:SubmitObjectsRequest"/>
			<output message = "tns:RegistryResponse"/>
		</operation>
	</portType>
</definitions>
<?xml version = "1.0" encoding = "UTF-8"?>
<definitions name = "RegistryServiceSOAPBinding" 
	targetNamespace = "urn:oasis:names:tc:ebxml-regrep:soapbinding:wsdl:2.0" 
	xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:soapbinding:wsdl:2.0"
	xmlns:registry = "urn:oasis:names:tc:ebxml-regrep:services:wsdl:2.0" 	
	xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"
	xmlns:mime = "http://schemas.xmlsoap.org/wsdl/mime/"	 
	xmlns = "http://schemas.xmlsoap.org/wsdl/"> 


  

	<!--xmlns:xsi = "http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation = "http://schemas.xmlsoap.org/wsdl/ file:///C:/jsews/ebxmlrr-spec/misc/schema/wsdl.xsd"-->
	<documentation>$Header: /jse/ebxmlrr-spec/misc/services/RegistrySOAPBinding.wsdl,v 1.9 2001/08/23 14:00:39 najmi Exp $	
This is the the normative concrete SOAP/HTTP binding for the OASIS ebXML Registry services.</documentation>

	<!--Import the definition of the abstract OASIS ebXML Registry services-->
	<import namespace = "urn:oasis:names:tc:ebxml-regrep:services:wsdl:2.0" 
		location = "http://www.oasis-open.org/ebxml/registry/1.1/services/Registry.wsdl"/>    

	<!--The SOAP bindings to the abstract services follow-->
	<binding name = "ObjectQueryManagerSoapBinding" type = "tns:ObjectQueryManagerPortType">    
		<!--
		transport attribute below specifies use of http transport for SOAP binding.
		Currently this is the only normative definition of transport for SOAP binding.
	        -->
		        
		<soap:binding style = "document" transport = "http://schemas.xmlsoap.org/soap/http"/>
		<operation name = "getClassificationTree">
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:getClassificationTree"/>
			<input>
				<soap:body use = "literal"/>
			</input>
			<output>
				<soap:body use = "literal"/>
			</output>
		</operation>    
		<operation name = "getClassifiedObjects">       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:getClassifiedObjects"/>       
			<input>           
				<soap:body use = "literal"/>       
			</input>       
			<output>           
				<soap:body use = "literal"/>       
			</output>    
		</operation>    
		<operation name = "getContent">       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:getContent"/>       
			<input>           
				<soap:body use = "literal"/>       
			</input>   
		   
			<output>               
				<mime:multipartRelated>                   
					<mime:part>                       
						<soap:body parts = "RegistryResponse" use = "literal"/>                   
					</mime:part>                   
					<mime:part>                       
						<mime:content part = "content" type = "*/*"/>                   
					</mime:part>               
				</mime:multipartRelated>
			</output>    
		</operation>
		<operation name = "getRootClassificationNodes">   
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:getRootClassificationNodes"/>   
			<input>       
				<soap:body use = "literal"/>   
			</input>   
			<output>       
				<soap:body use = "literal"/>   
			</output>
		</operation>
		<operation name = "submitAdhocQuery">   
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:submitAdhocQueries"/>   
			<input>       
				<soap:body use = "literal"/>   
			</input>   
			<output>       
				<soap:body use = "literal"/>   
			</output>
		</operation>
	</binding>    
	<binding name = "ObjectManagerSoapBinding" type = "tns:ObjectManagerPortType">        
		<soap:binding style = "document" transport = "http://schemas.xmlsoap.org/soap/http"/>        
		<operation name = "addSlots">           
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectManager:addSlots"/>           
			<input>               
				<soap:body use = "literal"/>           
			</input>           
			<output>               
				<soap:body use = "literal"/>           
			</output>        
		</operation>    
		<operation name = "approveObjects">       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectManager:approveObjects"/>       
			<input>           
				<soap:body use = "literal"/>       
			</input>       
			<output>           
				<soap:body use = "literal"/>       
			</output>    
		</operation>    
		<operation name = "deprecateObjects">
			<!--Need undeprecateObjects??-->
			       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectManager:deprecateObjects"/>       
			<input>           
				<soap:body use = "literal"/>       
			</input>       
			<output>           
				<soap:body use = "literal"/>       
			</output>    
		</operation>    
	    
		<operation name = "removeObjects">       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:removeObjects"/>       
			<input>           
				<soap:body use = "literal"/>       
			</input>       
			<output>           
				<soap:body use = "literal"/>       
			</output>    
		</operation>    
		<operation name = "removeSlots">       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:removeSlots"/>       
			<input>           
				<soap:body use = "literal"/>       
			</input>       
			<output>           
				<soap:body use = "literal"/>       
			</output>    
		</operation>    
		<operation name = "submitObjects">       
			<soap:operation soapAction = "uri:oasis:ebxml:registry:services:ObjectQueryManager:submitObjects"/>       
			<input>       
				<mime:multipartRelated>           
					<mime:part>               
						<soap:body parts = "SubmitObjectsRequest" use = "literal"/>           
					</mime:part>           
					<mime:part>               
						<mime:content part = "content" type = "*/*"/>           
					</mime:part>       
				</mime:multipartRelated>       
			</input>       
			<output>           
				<soap:body use = "literal"/>       
			</output>    
		</operation>    
    
	</binding>    
	<!--The concrete services bound to the SOAP bidning follows-->
	    
	<service name = "RegistryService">        
		<documentation>The ObjectQueryManager service of OASIS ebXML registry version 1.1</documentation>        
		<port name = "ObjectQueryManager" binding = "tns:ObjectQueryManagerSOAPBinding">           
			<soap:address location = "http://your_URL_to_your_ObjectQueryManager"/>        
		</port>    
		<port name = "ObjectManager" binding = "tns:ObjectManagerSOAPBinding">       
			<soap:address location = "http://your_URL_to_your_ObjectQueryManager"/>    
		</port>    
	</service>
</definitions>
begin:vcard 
n:Najmi;Farrukh
tel;work:781-442-0703
x-mozilla-html:FALSE
url:www.sun.com
org:Sun Microsystems;Java Software
adr:;;1 Network Dr. MS BUR02-302;Burlington;MA;01803-0902;USA
version:2.1
email;internet:najmi@east.sun.com
fn:Farrukh Najmi
end:vcard


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC