View Manager's Factory PortType WSDL

From Gcube Wiki
Jump to: navigation, search
<?xml version="1.0" encoding="UTF-8"?>
 
<definitions name="factory"
	targetNamespace="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:tns="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:corefaults="http://gcube-system.org/namespaces/common/core/faults"
	xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
	xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
	xmlns:provider="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
	xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:coretypes="http://gcube-system.org/namespaces/common/core/types">
 
	<import namespace="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"   
		location="../gcube/common/core/providers/GCUBEProvider.wsdl"/>
 
	<wsdl:import
		namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
		location="../wsrf/properties/WS-ResourceProperties.wsdl" />
 
	<wsdl:import namespace="http://gcube-system.org/namespaces/common/core/faults"
		location="../gcube/common/core/faults/GCUBEFaults.wsdl" />
 
 
 
	<!--
		============================================================ T Y P E S
 
		============================================================
	-->
	<types>
		<xsd:schema
			targetNamespace="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
			xmlns:tns="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			elementFormDefault="qualified">
 
			<xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/03/addressing" schemaLocation="../ws/addressing/WS-Addressing.xsd" />
			<xsd:import namespace="http://gcube-system.org/namespaces/common/core/types" schemaLocation="../gcube/common/core/types/GCUBETypes.xsd" />
 
			<xsd:element name="CreateRequest" type="tns:VMSCreateParams"/>
			<xsd:element name="CreateResponse" type="tns:viewReference" />
 
			<xsd:complexType name="VMSCreateParams">
				<xsd:sequence>
						<xsd:element name="plugin" type ="xsd:string"/>
						<xsd:element name="definition" type ="tns:View"/>
					</xsd:sequence>
			</xsd:complexType>
 
			<xsd:complexType name="viewReference">
				<xsd:sequence>
						<xsd:element name="endpointReference" type ="wsa:EndpointReferenceType"/>
						<xsd:element name="view" type ="tns:View"/>
					</xsd:sequence>
			</xsd:complexType>
 
			<!--  document purposes -->
			<xsd:complexType name="View">
				<xsd:sequence>
						<xsd:element name="id" nillable="false" type="xsd:string"/>
						<xsd:element name="collectionID" type ="xsd:string"/>
						<xsd:element name="type" type ="xsd:QName"/>
						<xsd:element name="description" type ="xsd:string" nillable="true"/>
						<xsd:element name="predicate" nillable="false">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:any processContents="skip" namespace="##any" maxOccurs="1"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="cardinality" type ="xsd:long"/>
						<xsd:element name="lastUpdate" type ="xsd:dateTime"/>
						<xsd:element name="property" type ="tns:ViewProperty" minOccurs="0" maxOccurs="unbounded"/>
					</xsd:sequence>
			</xsd:complexType>
 
 
 
			<xsd:complexType name="pluginDescription">
				<xsd:sequence>
					<xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" />
					<xsd:element name="description" type="xsd:string" minOccurs="1" maxOccurs="1" />
					<xsd:element name="property" type="coretypes:descriptiveProperty" minOccurs="0" maxOccurs="unbound" />
				</xsd:sequence>
			</xsd:complexType>
 
			<xsd:complexType name="ViewProperty">
				<xsd:sequence>
					<xsd:element name="name" type="xsd:QName"/>
					<xsd:element name="description" type="xsd:string" nillable="true"/>
					<xsd:element name="value" type="xsd:string"/>
				</xsd:sequence>
			</xsd:complexType>
 
		</xsd:schema>
 
	</types>
 
 
	<message name="CreateRequest">
		<part name="request" element="tns:CreateRequest" />
	</message>
	<message name="CreateResponse">
		<part name="response" element="tns:CreateResponse" />
	</message>
 
	<portType name="FactoryPortType"
		wsdlpp:extends="provider:GCUBEProvider">
  		<!-- wsrp:ResourceProperties="tns:FactoryResourceProperties" -->
 
 
		<operation name="create">
			<input message="tns:CreateRequest" />
			<output message="tns:CreateResponse" />
			<fault name="fault" message="corefaults:GCUBEFaultMessage"></fault>
		</operation>
 
	</portType>
 
 
</definitions>