<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: DocumentManagement.wsdl,v 1.5 2008/06/11 14:41:49 robbod Exp $ -->
<!--
	PLCS PLM Webservices 
	Author: 		Jonas Rosen, Eurostep Group
	Owner:  	Developed by Eurostep and supplied to PLCS OASIS TC.
	Purpose: 	PLCS PLM Document management services
	Specification document:: ../../docs/PLCSPLMWebServicesDefinitions.doc
-->

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:plm="http://www.plcs.org/PLMServices" xmlns:h="http://www.plcs.org/Headers" xmlns:doc="http://www.plcs.org/Document" xmlns:systypes="http://www.plcs.org/System/Types" xmlns:fault="http://www.plcs.org/Exception" targetNamespace="http://www.plcs.org/PLMServices">
	<types>
		<xs:schema elementFormDefault="qualified">
			<xs:import namespace="http://www.plcs.org/Headers" schemaLocation="../xsd/Headers.xsd"/>
			<xs:import namespace="http://www.plcs.org/Document" schemaLocation="../xsd/Document/DocumentMsg.xsd"/>
			<xs:import namespace="http://www.plcs.org/Exception" schemaLocation="../xsd/Exceptions.xsd"/>
		</xs:schema>
	</types>
	<message name="AuthenticateAuthHeader">
		<part name="AuthHeader" element="h:AuthHeader"/>
	</message>
	<message name="UpdateDocumentHeader">
		<part name="UpdateDocumentHeader" element="h:UpdateDocumentHeader"/>
	</message>
	<message name="UpdateDocument_versionHeader">
		<part name="UpdateDocument_versionHeader" element="h:UpdateDocument_versionHeader"/>
	</message>
	<message name="UpdateDigital_fileHeader">
		<part name="UpdateDigital_fileHeader" element="h:UpdateDigital_fileHeader"/>
	</message>
	<message name="Fel">
		<part name="parameters" type="xs:string"/>
	</message>
	<message name="DocumentFault">
		<part name="fault" type="fault:PLM_exception"/>
	</message>
	<message name="CreateDocumentSoapIn">
		<part name="parameters" element="doc:CreateDocument"/>
	</message>
	<message name="CreateDocumentSoapOut">
		<part name="parameters" element="doc:CreateDocumentResponse"/>
	</message>
	<message name="CreateDocument_versionSoapIn">
		<part name="parameters" element="doc:CreateDocument_version"/>
	</message>
	<message name="CreateDocument_versionSoapOut">
		<part name="parameters" element="doc:CreateDocument_versionResponse"/>
	</message>
	<message name="UpdateDocumentSoapIn">
		<part name="parameters" element="doc:UpdateDocument"/>
	</message>
	<message name="UpdateDocumentSoapOut">
		<part name="parameters" element="doc:UpdateDocumentResponse"/>
	</message>
	<message name="UpdateDocument_versionSoapIn">
		<part name="parameters" element="doc:UpdateDocument_version"/>
	</message>
	<message name="UpdateDocument_versionSoapOut">
		<part name="parameters" element="doc:UpdateDocument_versionResponse"/>
	</message>
	<message name="CheckInDocument_versionSoapIn">
		<part name="parameters" element="doc:CheckInDocument_version"/>
	</message>
	<message name="CheckInDocument_versionSoapOut">
		<part name="parameters" element="doc:CheckInDocument_versionResponse"/>
	</message>
	<message name="CheckOutDocument_versionSoapIn">
		<part name="parameters" element="doc:CheckOutDocument_version"/>
	</message>
	<message name="CheckOutDocument_versionSoapOut">
		<part name="parameters" element="doc:CheckOutDocument_versionResponse"/>
	</message>
	<message name="GetCheckedOutDocument_versionsSoapIn">
		<part name="parameters" element="doc:GetCheckedOutDocument_versions"/>
	</message>
	<message name="GetCheckedOutDocument_versionsSoapOut">
		<part name="parameters" element="doc:GetCheckedOutDocument_versionsResponse"/>
	</message>
	<message name="GetCheckedInDocument_versionsSoapIn">
		<part name="parameters" element="doc:GetCheckedInDocument_versions"/>
	</message>
	<message name="GetCheckedInDocument_versionsSoapOut">
		<part name="parameters" element="doc:GetCheckedInDocument_versionsResponse"/>
	</message>
	<message name="CreateDigital_fileSoapIn">
		<part name="parameters" element="doc:CreateDigital_file"/>
	</message>
	<message name="CreateDigital_fileSoapOut">
		<part name="parameters" element="doc:CreateDigital_fileResponse"/>
	</message>
	<message name="UpdateDigital_fileSoapIn">
		<part name="parameters" element="doc:UpdateDigital_file"/>
	</message>
	<message name="UpdateDigital_fileSoapOut">
		<part name="parameters" element="doc:UpdateDigital_fileResponse"/>
	</message>
	<message name="DownloadFileSoapIn">
		<part name="parameters" element="doc:DownloadFile"/>
	</message>
	<message name="DownloadFileSoapOut">
		<part name="parameters" element="doc:DownloadFileResponse"/>
	</message>
	<portType name="DocumentManagementSoap">
		<operation name="DownloadFile">
			<input message="plm:DownloadFileSoapIn"/>
			<output message="plm:DownloadFileSoapOut"/>
		</operation>
		<operation name="CreateDocument">
			<input message="plm:CreateDocumentSoapIn"/>
			<output message="plm:CreateDocumentSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="CreateDocument_version">
			<input message="plm:CreateDocument_versionSoapIn"/>
			<output message="plm:CreateDocument_versionSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="UpdateDocument">
			<input message="plm:UpdateDocumentSoapIn"/>
			<output message="plm:UpdateDocumentSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="UpdateDocument_version">
			<input message="plm:UpdateDocument_versionSoapIn"/>
			<output message="plm:UpdateDocument_versionSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="CheckInDocument_version">
			<input message="plm:CheckInDocument_versionSoapIn"/>
			<output message="plm:CheckInDocument_versionSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="CheckOutDocument_version">
			<input message="plm:CheckOutDocument_versionSoapIn"/>
			<output message="plm:CheckOutDocument_versionSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="GetCheckedOutDocument_versions">
			<input message="plm:GetCheckedOutDocument_versionsSoapIn"/>
			<output message="plm:GetCheckedOutDocument_versionsSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="GetCheckedInDocument_versions">
			<input message="plm:GetCheckedInDocument_versionsSoapIn"/>
			<output message="plm:GetCheckedInDocument_versionsSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="CreateDigital_file">
			<input message="plm:CreateDigital_fileSoapIn"/>
			<output message="plm:CreateDigital_fileSoapOut"/>
			<!--<fault name="FaultName" message="plm:Fel"/>-->
		</operation>
		<operation name="UpdateDigital_file">
			<input message="plm:UpdateDigital_fileSoapIn"/>
			<output message="plm:UpdateDigital_fileSoapOut"/>
		</operation>
	</portType>
	<binding name="DocumentManagementSoap" type="plm:DocumentManagementSoap">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="DownloadFile">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/DownloadFile" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="CreateDocument">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/CreateDocument" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="CreateDocument_version">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/CreateDocument_version" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="UpdateDocument">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/UpdateDocument" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateDocumentHeader" part="UpdateDocumentHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="UpdateDocument_version">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/UpdateDocument_version" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateDocument_versionHeader" part="UpdateDocument_versionHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="CheckInDocument_version">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/CheckInDocument_version" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="CheckOutDocument_version">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/CheckOutDocument_version" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="GetCheckedOutDocument_versions">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/GetCheckedOutDocument_versions" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="GetCheckedInDocument_versions">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/GetCheckedInDocument_versions" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="CreateDigital_file">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/CreateDigital_file" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
			<!--<fault name="FaultName">
				<soap:fault name="FaultName" use="literal"/>
			</fault>-->
		</operation>
		<operation name="UpdateDigital_file">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/DocumentManagement/UpdateDigital_file" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateDigital_fileHeader" part="UpdateDigital_fileHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
	</binding>
	<service name="DocumentManagement">
		<port name="DocumentManagementSoap" binding="plm:DocumentManagementSoap">
			<soap:address location="http://www.share-a-space.com/PLCSPLMServices/Service.asmx"/>
		</port>
	</service>
	<!--
	 The service tag can be omitted.
	-->
	<!--
		Here comes error messages
	-->
	<!--
		Here comes Authenticate messages
	-->
	<!--
		Here comes project information
	-->
	<!--<message name="AutenticateSoapIn">
		<part name="parameters" element="sys:Authenticate"/>
		<part name="user" type="xs:string"/>
		<part name="password" type="xs:string"/>
		<part name="project" type="xs:string"/>
	</message>
	<message name="AutenticateSoapOut">
		<xs:complexType/>
	</message>-->
</definitions>
