<!-- ############################################### -->
<!-- WSDL specification of P2PIO protocol            -->
<!-- $Author: hoschek3 $, $Revision: 1.2 $, $Date: 2004/01/30 01:01:05 $ -->
<!-- ############################################### -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:p2pio="http://dsd.lbl.gov/p2pio-1.0" targetNamespace="http://dsd.lbl.gov/p2pio-1.0">
		
	<import namespace="http://dsd.lbl.gov/p2pio-1.0" location="p2pio.xsd"/>
	
	<!-- ############################################### -->
	<!-- Message declarations                            -->
	<!-- ############################################### -->
	<message name="OpenMsg">
		<part name="open" element="p2pio:open"/>
	</message>

	<message name="ReceiveMsg">
		<part name="receive" element="p2pio:receive"/>
	</message>

	<message name="SendMsg">
		<part name="send" element="p2pio:send"/>
	</message>

	<message name="FinalSendMsg">
		<part name="finalSend" element="p2pio:finalSend"/>
	</message>

	<message name="CloseMsg">
		<part name="close" element="p2pio:close"/>
	</message>

	<message name="OkMsg">
		<part name="ok" element="p2pio:ok"/>
	</message>

	<message name="ErrorMsg">
		<part name="error" element="p2pio:error"/>
	</message>
	
	<!-- ############################################### -->
	<!-- Port type declarations                          -->
	<!-- ############################################### -->
	<portType name="SearchPortType">
		<operation name="open">
			<input message="p2pio:OpenMsg"/>
			<output message="p2pio:OkMsg"/>
			<fault message="p2pio:ErrorMsg" name="error"/>
		</operation>

		<operation name="receive">
			<input message="p2pio:ReceiveMsg"/>
			<output message="p2pio:FinalSendMsg"/>
			<fault message="p2pio:ErrorMsg" name="error"/>
		</operation>

		<operation name="close">
			<input message="p2pio:CloseMsg"/>
			<output message="p2pio:OkMsg"/>
			<fault message="p2pio:ErrorMsg" name="error"/>
		</operation>
	</portType>
	
	<!-- ############################################### -->
	<!-- Binding declarations                            -->
	<!-- ############################################### -->
	<binding name="SearchSoapBinding" type="p2pio:SearchPortType">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>

		<operation name="open">
			<soap:operation soapAction="http://dsd.lbl.gov/p2io-1.0/open" style="document"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>

		<operation name="receive">
			<soap:operation soapAction="http://dsd.lbl.gov/p2io-1.0/receive" style="document"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>

		<operation name="close">
			<soap:operation soapAction="http://dsd.lbl.gov/p2io-1.0/close" style="document"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
	</binding>
	
	<!-- ############################################### -->
	<!-- Service declarations                            -->
	<!-- ############################################### -->
	<service name="SearchService">
		<port name="SearchSoapPort" binding="p2pio:SearchSoapBinding">
			<soap:address location="http://localhost:8080/firefish/services/Search"/>
		</port>
	</service>

</definitions>
