<?xml version="1.0"?>
<definitions name="Sympa" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	targetNamespace="[conf->wwsympa_url]/wsdl" 
	xmlns:tns="[conf->wwsympa_url]/wsdl"
	xmlns="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:xsdl="[conf->soap_url]/wsdl">


<!-- types part -->	


<types>
<schema targetNamespace="[conf->wwsympa_url]/wsdl" 
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns="http://www.w3.org/2001/XMLSchema">
	
	<complexType name="ArrayOfLists">
		<complexContent>
			<restriction base="SOAP-ENC:Array">
				<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:listType[]"/>
			</restriction>
		</complexContent>
	</complexType>

	<complexType name="ArrayOfString">
		<complexContent>
			<restriction base="SOAP-ENC:Array">
				<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
			</restriction>
		</complexContent>
	</complexType>
	
	<complexType name="listType">
           <all>
		<element name="listAddress" minOccurs="1" type="string"/>
		<element name="homepage" minOccurs="0" type="string"/>
		<element name="isSubscriber" minOccurs="0" type="boolean"/>
		<element name="isOwner" minOccurs="0" type="boolean"/>
		<element name="isEditor" minOccurs="0" type="boolean"/>
		<element name="subject" minOccurs="0" type="string"/>
           </all>
	</complexType>
</schema>
</types>


<!-- message part -->

<message name="infoRequest">
        <part name="listName" type="xsd:string"/>
</message>

<message name="infoResponse">
	<part name="return" type="tns:listType"/>
</message>

<message name="complexWhichRequest">
</message>

<message name="complexWhichResponse">
	<part name="return" type="tns:ArrayOfLists"/>
</message>

<message name="whichRequest">
</message>

<message name="whichResponse">
	<part name="return" type="tns:ArrayOfString"/>
</message>

<message name="amIRequest">
	<part name="list" type="xsd:string"/>
	<part name="function" type="xsd:string"/>
	<part name="user" type="xsd:string"/>
</message>

<message name="amIResponse">
	<part name="return" type="xsd:boolean"/>
</message>

<message name="reviewRequest">
	<part name="list" type="xsd:string"/>
</message>

<message name="reviewResponse">
	<part name="return" type="tns:ArrayOfString"/>
</message>

<message name="signoffRequest">
	<part name="list" type="xsd:string"/>
	<part name="email" type="xsd:string" xsd:minOccurs="0"/>	
</message>

<message name="signoffResponse">
	<part name="return" type="xsd:boolean"/>
</message>

<message name="subscribeRequest">
	<part name="list" type="xsd:string"/>
	<part name="gecos" type="xsd:string" xsd:minOccurs="0"/>	
</message>

<message name="subscribeResponse">
	<part name="return" type="xsd:boolean"/>
</message>

<message name="loginRequest">
	<part name="email" type="xsd:string"/>
	<part name="password" type="xsd:string"/>
</message>

<message name="loginResponse">
	<part name="return" type="xsd:string"/>	
</message>

<message name="authenticateAndRunRequest">
	<part name="email" type="xsd:string"/>
	<part name="cookie" type="xsd:string"/>
	<part name="service" type="xsd:string"/>
	<part name="parameters" type="tns:ArrayOfString" xsd:minOccurs="0"/>
</message>

<message name="authenticateAndRunResponse">
	<part name="return" type="tns:ArrayOfString" xsd:minOccurs="0"/>	
</message>

<message name="casLoginRequest">
	<part name="proxyTicket" type="xsd:string"/>
</message>

<message name="casLoginResponse">
	<part name="return" type="xsd:string"/>	
</message>

<message name="listsRequest">
	<part name="topic" type="xsd:string" xsd:minOccurs="0"/>
	<part name="subtopic" type="xsd:string" xsd:minOccurs="0"/>
</message>

<message name="listsResponse">
	<part name="listInfo" type="xsd:string"/>	
</message>

<message name="complexListsRequest">
</message>

<message name="complexListsResponse">
	<part name="return" type="tns:ArrayOfLists"/>
</message>

<message name="checkCookieRequest">
</message>

<message name="checkCookieResponse">
	<part name="email" type="xsd:string"/>
</message>


<!-- portType part -->

<portType name="SympaPort">
	<operation name="info">
		<input message="tns:infoRequest" />
		<output message="tns:infoResponse" />
	</operation>
	<operation name="complexWhich">
		<input message="tns:complexWhichRequest" />
		<output message="tns:complexWhichResponse" />
	</operation>
	<operation name="which">
		<input message="tns:whichRequest" />
		<output message="tns:whichResponse" />
	</operation>
	<operation name="amI">
		<input message="tns:amIRequest" />
		<output message="tns:amIResponse" />
	</operation>
	<operation name="review">
		<input message="tns:reviewRequest" />
		<output message="tns:reviewResponse" />
	</operation>
	<operation name="subscribe">
		<input message="tns:subscribeRequest" />
		<output message="tns:subscribeResponse" />
	</operation>
	<operation name="signoff">
		<input message="tns:signoffRequest" />
		<output message="tns:signoffResponse" />
	</operation>
	<operation name="login">
		<input message="tns:loginRequest" />
		<output message="tns:loginResponse" />
	</operation>
	<operation name="casLogin">
		<input message="tns:casLoginRequest" />
		<output message="tns:casLoginResponse" />
	</operation>
	<operation name="authenticateAndRun">
		<input message="tns:authenticateAndRunRequest" />
		<output message="tns:authenticateAndRunResponse" />
	</operation>
	<operation name="lists">
		<input message="tns:listsRequest" />
		<output message="tns:listsResponse" />
	</operation>
	<operation name="complexLists">
		<input message="tns:complexListsRequest" />
		<output message="tns:complexListsResponse" />
	</operation>
	<operation name="checkCookie">
		<input message="tns:checkCookieRequest" />
		<output message="tns:checkCookieResponse" />
	</operation>
</portType>


<!-- Binding part -->

<binding name="SOAP" type="tns:SympaPort">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
	<operation name="info">
		<soap:operation soapAction="urn:sympasoap#info"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="complexWhich">
		<soap:operation soapAction="urn:sympasoap#complexWhich"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="which">
		<soap:operation soapAction="urn:sympasoap#which"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="amI">
		<soap:operation soapAction="urn:sympasoap#amI"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="review">
		<soap:operation soapAction="urn:sympasoap#review"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="subscribe">
		<soap:operation soapAction="urn:sympasoap#subscribe"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="signoff">
		<soap:operation soapAction="urn:sympasoap#signoff"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="login">
		<soap:operation soapAction="urn:sympasoap#login"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="casLogin">
		<soap:operation soapAction="urn:sympasoap#casLogin"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="authenticateAndRun">
		<soap:operation soapAction="urn:sympasoap#authenticateAndRun"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="lists">
		<soap:operation soapAction="urn:sympasoap#lists"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="complexLists">
		<soap:operation soapAction="urn:sympasoap#complexLists"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
	<operation name="checkCookie">
		<soap:operation soapAction="urn:sympasoap#checkCookie"/>
			<input>
				<soap:body use="encoded" 
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded"
					namespace="urn:sympasoap" 
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
	</operation>
</binding>

<!-- service part -->


<service name="SympaSOAP">
	<port name="SympaPort" binding="tns:SOAP">
		<soap:address location="[conf->soap_url]"/>
	</port>
</service>

</definitions>



