<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:os="http://www.optimizationservices.org" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.optimizationservices.org">
	<!--OShL.wsdl: version - 1.0.0 -->
	<message name="getJobIDRequest">
		<part name="osol" type="xsd:string"/>
	</message>
	<message name="getJobIDResponse">
		<part name="jobID" type="xsd:string"/>
	</message>
	<message name="solveRequest">
		<part name="osil" type="xsd:string"/>
		<part name="osol" type="xsd:string"/>
	</message>
	<message name="solveResponse">
		<part name="osrl" type="xsd:string"/>
	</message>
	<message name="sendRequest">
		<part name="osil" type="xsd:string"/>
		<part name="osol" type="xsd:string"/>
	</message>
	<message name="sendResponse">
		<part name="success" type="xsd:boolean"/>
	</message>
	<message name="retrieveRequest">
		<part name="osol" type="xsd:string"/>
	</message>
	<message name="retrieveResponse">
		<part name="osrl" type="xsd:string"/>
	</message>
	<message name="killRequest">
		<part name="osol" type="xsd:string"/>
	</message>
	<message name="killResponse">
		<part name="osrl" type="xsd:string"/>
	</message>
	<message name="knockRequest">
		<part name="ospl type="xsd:string"/>
		<part name="osol" type="xsd:string"/>
	</message>
	<message name="knockResponse">
		<part name="osrl" type="xsd:string"/>
	</message>
	<portType name="OSSolverService">
		<operation name="getJobID" parameterOrder="osol">
			<input name="getJobIDRequest" message="os:getJobIDRequest"/>
			<output name="getJobIDResponse" message="os:getJobIDResponse"/>
		</operation>
		<operation name="solve" parameterOrder="osil osol">
			<input name="solveRequest" message="os:solveRequest"/>
			<output name="solveResponse" message="os:solveResponse"/>
		</operation>
		<operation name="send" parameterOrder="osil osol">
			<input name="sendRequest" message="os:sendRequest"/>
			<output name="sendResponse" message="os:sendResponse"/>
		</operation>
		<operation name="retrieve" parameterOrder="osol">
			<input name="retrieveRequest" message="os:retrieveRequest"/>
			<output name="retrieveResponse" message="os:retrieveResponse"/>
		</operation>
		<operation name="kill" parameterOrder="osol">
			<input name="killRequest" message="os:killRequest"/>
			<output name="killResponse" message="os:killResponse"/>
		</operation>
		<operation name="knock" parameterOrder="ospl osol">
			<input name="knockRequest" message="os:knockRequest"/>
			<output name="knockResponse" message="os:knockResponse"/>
		</operation>
	</portType>
	<binding name="OSSolverServiceSoapBinding" type="os:OSSolverService">
		<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="getJobID">
			<wsdlsoap:operation soapAction="OSSolverService#getJobID"/>
			<input>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</input>
			<output>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</output>
		</operation>
		<operation name="solve">
			<wsdlsoap:operation soapAction="OSSolverService#solve"/>
			<input>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</input>
			<output>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</output>
		</operation>
		<operation name="send">
			<wsdlsoap:operation soapAction="OSSolverService#send"/>
			<input>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</input>
			<output>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</output>
		</operation>
		<operation name="retrieve">
			<wsdlsoap:operation soapAction="OSSolverService#retrieve"/>
			<input>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</input>
			<output>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</output>
		</operation>
		<operation name="kill">
			<wsdlsoap:operation soapAction="OSSolverService#kill"/>
			<input>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</input>
			<output>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</output>
		</operation>
		<operation name="knock">
			<wsdlsoap:operation soapAction="OSSolverService#knock"/>
			<input>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</input>
			<output>
				<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.optimizationservices.org"/>
			</output>
		</operation>
	</binding>
	<service name="OSSolverService">
		<!--All port locations, i.e. service URI addresses, are to be found dynamically in the OS registry and NOT to be hard coded below in <port><port>-->
		<!-- The following is just a hard coded example-->
		<port name="OSSolverService" binding="os:OSSolverServiceSoapBinding">
			<wsdlsoap:address location="http://www.optimizationservices.org/os/SampleOSSolverService.jws"/>
		</port>
	</service>
</wsdl:definitions>
