<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: RequirementManagement.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 Requirement 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:req="http://www.plcs.org/Requirement" xmlns:sys="http://www.plcs.org/System" xmlns:systypes="http://www.plcs.org/System/Types" xmlns:plcstypes="http://www.plcs.org/PLMServices/Types" 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/Requirement" schemaLocation="../xsd/Requirement/RequirementMsg.xsd"/>
		</xs:schema>
	</types>
	<message name="RequirementStructureFilterHeader">
		<part name="FilterHeader" element="h:FilterHeader"/>
	</message>
	<message name="AuthenticateAuthHeader">
		<part name="AuthHeader" element="h:AuthHeader"/>
	</message>
	<message name="Fel">
		<part name="parameter" type="xs:string"/>
	</message>
	<message name="UpdateRequirementHeader">
		<part name="UpdateRequirementHeader" element="h:UpdateRequirementHeader"/>
	</message>
	<message name="UpdateRequirement_versionHeader">
		<part name="UpdateRequirement_versionHeader" element="h:UpdateRequirement_versionHeader"/>
	</message>
	<message name="UpdateTracing_relationshipHeader">
		<part name="UpdateTracing_relationshipHeader" element="h:UpdateTracing_relationshipHeader"/>
	</message>
	<message name="UpdateRequirement_collection_relationshipHeader">
		<part name="UpdateRequirement_collection_relationshipHeader" element="h:UpdateRequirement_collection_relationshipHeader"/>
	</message>
	<message name="CreateRequirementSoapIn">
		<part name="parameters" element="req:CreateRequirement"/>
	</message>
	<message name="CreateRequirementSoapOut">
		<part name="parameters" element="req:CreateRequirementResponse"/>
	</message>
	<message name="UpdateRequirementSoapIn">
		<part name="parameters" element="req:UpdateRequirement"/>
	</message>
	<message name="UpdateRequirementSoapOut">
		<part name="parameters" element="req:UpdateRequirementResponse"/>
	</message>
	<message name="CreateRequirement_versionSoapIn">
		<part name="parameters" element="req:CreateRequirement_version"/>
	</message>
	<message name="CreateRequirement_versionSoapOut">
		<part name="parameters" element="req:CreateRequirement_versionResponse"/>
	</message>
	<message name="UpdateRequirement_versionSoapIn">
		<part name="parameters" element="req:UpdateRequirement_version"/>
	</message>
	<message name="UpdateRequirement_versionSoapOut">
		<part name="parameters" element="req:UpdateRequirement_versionResponse"/>
	</message>
	<message name="CreateTracing_relationshipSoapIn">
		<part name="parameters" element="req:CreateTracing_relationship"/>
	</message>
	<message name="CreateTracing_relationshipSoapOut">
		<part name="parameters" element="req:CreateTracing_relationshipResponse"/>
	</message>
	<message name="UpdateTracing_relationshipSoapIn">
		<part name="parameters" element="req:UpdateTracing_relationship"/>
	</message>
	<message name="UpdateTracing_relationshipSoapOut">
		<part name="parameters" element="req:UpdateTracing_relationshipResponse"/>
	</message>
	<message name="RemoveTracing_relationshipSoapIn">
		<part name="parameters" element="req:RemoveTracing_relationship"/>
	</message>
	<message name="RemoveTracing_relationshipSoapOut">
		<part name="parameters" element="req:RemoveTracing_relationshipResponse"/>
	</message>
	<message name="CreateRequirement_collection_relationshipSoapIn">
		<part name="parameters" element="req:CreateRequirement_collection_relationship"/>
	</message>
	<message name="CreateRequirement_collection_relationshipSoapOut">
		<part name="parameters" element="req:CreateRequirement_collection_relationshipResponse"/>
	</message>
	<message name="UpdateRequirement_collection_relationshipSoapIn">
		<part name="parameters" element="req:UpdateRequirement_collection_relationship"/>
	</message>
	<message name="UpdateRequirement_collection_relationshipSoapOut">
		<part name="parameters" element="req:UpdateRequirement_collection_relationshipResponse"/>
	</message>
	<message name="RemoveRequirement_collection_relationshipSoapIn">
		<part name="parameters" element="req:RemoveRequirement_collection_relationship"/>
	</message>
	<message name="RemoveRequirement_collection_relationshipSoapOut">
		<part name="parameters" element="req:RemoveRequirement_collection_relationshipResponse"/>
	</message>
	
	<message name="GetRequirement_collection_relationshipSoapIn">
		<part name="parameters" element="req:GetRequirement_collection_relationship"/>
	</message>
	<message name="GetRequirement_collection_relationshipSoapOut">
		<part name="parameters" element="req:GetRequirement_collection_relationshipResponse"/>
	</message>
	
	<message name="WhereUsedByRequirement_collection_relationshipSoapIn">
		<part name="parameters" element="req:WhereUsedByRequirement_collection_relationship"/>
	</message>
	<message name="WhereUsedByRequirement_collection_relationshipSoapOut">
		<part name="parameters" element="req:WhereUsedByRequirement_collection_relationshipResponse"/>
	</message>
	
	<message name="GetTracing_relationshipSoapIn">
		<part name="parameters" element="req:GetTracing_relationship"/>
	</message>
	<message name="GetTracing_relationshipSoapOut">
		<part name="parameters" element="req:GetTracing_relationshipResponse"/>
	</message>
	
	<message name="WhereUsedByTracing_relationshipSoapIn">
		<part name="parameters" element="req:WhereUsedByTracing_relationship"/>
	</message>
	<message name="WhereUsedByTracing_relationshipSoapOut">
		<part name="parameters" element="req:WhereUsedByTracing_relationshipResponse"/>
	</message>
	
	<portType name="RequirementManagementSoap">
		<operation name="CreateRequirement">
			<input message="plm:CreateRequirementSoapIn"/>
			<output message="plm:CreateRequirementSoapOut"/>
		</operation>
		<operation name="UpdateRequirement">
			<input message="plm:UpdateRequirementSoapIn"/>
			<output message="plm:UpdateRequirementSoapOut"/>
		</operation>
		<operation name="CreateRequirement_version">
			<input message="plm:CreateRequirement_versionSoapIn"/>
			<output message="plm:CreateRequirement_versionSoapOut"/>
		</operation>
		<operation name="UpdateRequirement_version">
			<input message="plm:UpdateRequirement_versionSoapIn"/>
			<output message="plm:UpdateRequirement_versionSoapOut"/>
		</operation>
		<operation name="CreateTracing_relationship">
			<input message="plm:CreateTracing_relationshipSoapIn"/>
			<output message="plm:CreateTracing_relationshipSoapOut"/>
		</operation>
		<operation name="UpdateTracing_relationship">
			<input message="plm:UpdateTracing_relationshipSoapIn"/>
			<output message="plm:UpdateTracing_relationshipSoapOut"/>
		</operation>
		<operation name="RemoveTracing_relationship">
			<input message="plm:RemoveTracing_relationshipSoapIn"/>
			<output message="plm:RemoveTracing_relationshipSoapOut"/>
		</operation>
		<operation name="CreateRequirement_collection_relationship">
			<input message="plm:CreateRequirement_collection_relationshipSoapIn"/>
			<output message="plm:CreateRequirement_collection_relationshipSoapOut"/>
		</operation>
		<operation name="UpdateRequirement_collection_relationship">
			<input message="plm:UpdateRequirement_collection_relationshipSoapIn"/>
			<output message="plm:UpdateRequirement_collection_relationshipSoapOut"/>
		</operation>
		<operation name="RemoveRequirement_collection_relationship">
			<input message="plm:RemoveRequirement_collection_relationshipSoapIn"/>
			<output message="plm:RemoveRequirement_collection_relationshipSoapOut"/>
		</operation>
		
		<operation name="GetRequirement_collection_relationship">
			<input message="plm:GetRequirement_collection_relationshipSoapIn"/>
			<output message="plm:GetRequirement_collection_relationshipSoapOut"/>
		</operation>
		
		<operation name="WhereUsedByRequirement_collection_relationship">
			<input message="plm:WhereUsedByRequirement_collection_relationshipSoapIn"/>
			<output message="plm:WhereUsedByRequirement_collection_relationshipSoapOut"/>
		</operation>
		
		<operation name="GetTracing_relationship">
			<input message="plm:GetTracing_relationshipSoapIn"/>
			<output message="plm:GetTracing_relationshipSoapOut"/>
		</operation>
		
		<operation name="WhereUsedByTracing_relationship">
			<input message="plm:WhereUsedByTracing_relationshipSoapIn"/>
			<output message="plm:WhereUsedByTracing_relationshipSoapOut"/>
		</operation>
		
	</portType>
	<binding name="RequirementManagementSoap" type="plm:RequirementManagementSoap">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="CreateRequirement">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/RequirementManagement/CreateRequirement" 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="UpdateRequirement">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/RequirementManagement/UpdateRequirement" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateRequirementHeader" part="UpdateRequirementHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="CreateRequirement_version">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_versionManagement/CreateRequirement_version" 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="UpdateRequirement_version">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_versionManagement/UpdateRequirement_version" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateRequirement_versionHeader" part="UpdateRequirement_versionHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="CreateTracing_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Tracing_relationshipManagement/CreateTracing_relationship" 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="UpdateTracing_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Tracing_relationshipManagement/UpdateTracing_relationship" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateTracing_relationshipHeader" part="UpdateTracing_relationshipHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="RemoveTracing_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Tracing_relationshipManagement/RemoveTracing_relationship" 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="CreateRequirement_collection_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/CreateRequirement_collection_relationship" 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="UpdateRequirement_collection_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/UpdateRequirement_collection_relationship" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:UpdateRequirement_collection_relationshipHeader" part="UpdateRequirement_collection_relationshipHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="RemoveRequirement_collection_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/RemoveRequirement_collection_relationship" 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="GetRequirement_collection_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/GetRequirement_collection_relationship" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:RequirementStructureFilterHeader" part="FilterHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		
		<operation name="WhereUsedByRequirement_collection_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/WhereUsedByRequirement_collection_relationship" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:RequirementStructureFilterHeader" part="FilterHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		
		<operation name="GetTracing_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/GetTracing_relationship" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:RequirementStructureFilterHeader" part="FilterHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		
		<operation name="WhereUsedByTracing_relationship">
			<soap:operation soapAction="http://www.plcs.org/PLMServices/Requirement_collection_relationshipManagement/WhereUsedByTracing_relationship" style="document"/>
			<input>
				<soap:body use="literal"/>
				<soap:header message="plm:AuthenticateAuthHeader" part="AuthHeader" use="literal"/>
				<soap:header message="plm:RequirementStructureFilterHeader" part="FilterHeader" use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		
	</binding>
	<service name="RequirementManagement">
		<port name="RequirementManagementSoap" binding="plm:RequirementManagementSoap">
			<soap:address location="http://www.share-a-space.com/PLCSPLMServices/Service.asmx"/>
		</port>
	</service>
	<!--
		These are headers 
     -->
	<!--
		These are the messages, input and output.
    -->
	<!--
	 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>
