<?xml version="1.0"?>
<definitions name="Sympa"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	targetNamespace="https://lists.illinois.edu/lists/wsdl"
	xmlns:tns="https://lists.illinois.edu/lists/wsdl"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:xsdl="https://lists.illinois.edu/sympasoap/wsdl">

<!-- types part -->

<types>
<schema targetNamespace="https://lists.illinois.edu/lists/wsdl"
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns="http://www.w3.org/2001/XMLSchema">


	<import namespace="http://schemas.xmlsoap.org/soap/encoding/"
		schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>

	<complexType name="ArrayOfLists">
		<complexContent>
			<restriction base="SOAP-ENC:Array">
				<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:listType[]"/>
			</restriction>
		</complexContent>
	</complexType>

	<complexType name="ArrayOfUsers">
		<complexContent>
			<restriction base="SOAP-ENC:Array">
				<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:userType[]"/>
			</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="bounce">
		<all>
			<element name="firstBounceDate" minOccurs="0" type="int"/>
			<element name="lastBounceDate" minOccurs="0" type="int"/>
			<element name="bounceCount" minOccurs="1" type="int"/>
			<element name="bounceScore" minOccurs="1" type="int"/>
		</all>
	</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"/>
			<element name="info" minOccurs="0" type="string"/>
			<element name="firstBounceDate" minOccurs="0" type="int"/>
			<element name="lastBounceDate" minOccurs="0" type="int"/>
			<element name="bounceCount" minOccurs="0" type="int"/>
			<element name="bounceCode" minOccurs="0" type="string"/>
			<element name="bounceScore" minOccurs="0" type="int"/>
		</all>
	</complexType>

	<complexType name="userType">
		<all>
			<element name="email" minOccurs="1" type="string"/>
			<element name="gecos" 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"/>
		</all>
	</complexType>
	
	<complexType name="customType">
		<all>
			<element name="key" minOccurs="1" type="string"/>
			<element name="value" minOccurs="0" type="string"/>
		</all>
	</complexType>
		
	<complexType name="ArrayOfCustom">
		<complexContent>
			<restriction base="SOAP-ENC:Array">
				<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:customType[]"/>
			</restriction>
		</complexContent>
	</complexType>
	
	<complexType name="detailsType">
		<all>
			<element name="gecos" minOccurs="0" type="string"/>
			<element name="reception" minOccurs="0" type="string"/>
			<element name="subscribeDate" minOccurs="0" type="string"/>
			<element name="updateDate" minOccurs="0" type="string"/>
			<element name="custom" minOccurs="0" type="tns:ArrayOfCustom"/>
		</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="xsd:string"/>
</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="fullReviewRequest">
	<part name="list" type="xsd:string"/>
</message>

<message name="fullReviewResponse">
	<part name="return" type="tns:ArrayOfUsers"/>
</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="addRequest">
	<part name="list" type="xsd:string"/>
	<part name="email" type="xsd:string"/>
	<part name="gecos" type="xsd:string" xsd:minOccurs="0"/>
	<part name="quiet" type="xsd:boolean" xsd:minOccurs="0"/>
</message>


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

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


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

<message name="createListRequest">
	<part name="list" type="xsd:string"/>
	<part name="subject" type="xsd:string"/>
	<part name="template" type="xsd:string"/>
	<part name="description" type="xsd:string"/>
	<part name="topics" type="xsd:string"/>
</message>

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

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

<message name="closeListResponse">
	<part name="return" type="xsd:boolean"/>
</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="getUserEmailByCookieRequest">
	<part name="cookie" type="xsd:string"/>
</message>

<message name="getUserEmailByCookieResponse">
	<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="authenticateRemoteAppAndRunRequest">
	<part name="appname" type="xsd:string"/>
	<part name="apppassword" type="xsd:string"/>
	<part name="vars" type="xsd:string"/>
	<part name="service" type="xsd:string"/>
	<part name="parameters" type="tns:ArrayOfString" xsd:minOccurs="0"/>
</message>

<message name="authenticateRemoteAppAndRunResponse">
	<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>

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

<message name="getDetailsResponse">
	<part name="return" type="tns:detailsType"/>
</message>

<message name="setDetailsRequest">
	<part name="list" type="xsd:string"/>
	<part name="gecos" type="xsd:string"/>
	<part name="reception" type="xsd:string" xsd:minOccurs="0"/>
	<part name="custom" type="tns:ArrayOfCustom" xsd:minOccurs="0"/>
</message>

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

<message name="setCustomRequest">
	<part name="list" type="xsd:string"/>
	<part name="key" type="xsd:string"/>
	<part name="value" type="xsd:string" xsd:minOccurs="0"/>
</message>

<message name="setCustomResponse">
	<part name="return" type="xsd:boolean"/>
</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="add">
		<input message="tns:addRequest" />
		<output message="tns:addResponse" />
	</operation>
	<operation name="del">
		<input message="tns:delRequest" />
		<output message="tns:delResponse" />
	</operation>
	<operation name="createList">
		<input message="tns:createListRequest" />
		<output message="tns:createListResponse" />
	</operation>
	<operation name="closeList">
		<input message="tns:closeListRequest" />
		<output message="tns:closeListResponse" />
	</operation>
	<operation name="review">
		<input message="tns:reviewRequest" />
		<output message="tns:reviewResponse" />
	</operation>
	<operation name="fullReview">
		<input message="tns:fullReviewRequest" />
		<output message="tns:fullReviewResponse" />
	</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="getUserEmailByCookie">
		<input message="tns:getUserEmailByCookieRequest" />
		<output message="tns:getUserEmailByCookieResponse" />
	</operation>
	<operation name="authenticateAndRun">
		<input message="tns:authenticateAndRunRequest" />
		<output message="tns:authenticateAndRunResponse" />
	</operation>
	<operation name="authenticateRemoteAppAndRun">
		<input message="tns:authenticateRemoteAppAndRunRequest" />
		<output message="tns:authenticateRemoteAppAndRunResponse" />
	</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>
	<operation name="getDetails">
		<input message="tns:getDetailsRequest" />
		<output message="tns:getDetailsResponse" />
	</operation>
	<operation name="setDetails">
		<input message="tns:setDetailsRequest" />
		<output message="tns:setDetailsResponse" />
	</operation>
	<operation name="setCustom">
		<input message="tns:setCustomRequest" />
		<output message="tns:setCustomResponse" />
	</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="add">
		<soap:operation soapAction="urn:sympasoap#add"/>
			<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="del">
		<soap:operation soapAction="urn:sympasoap#del"/>
			<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="createList">
		<soap:operation soapAction="urn:sympasoap#createList"/>
			<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="closeList">
		<soap:operation soapAction="urn:sympasoap#closeList"/>
			<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="fullReview">
		<soap:operation soapAction="urn:sympasoap#fullReview"/>
			<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="getUserEmailByCookie">
		<soap:operation soapAction="urn:sympasoap#getUserEmailByCookie"/>
			<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="authenticateRemoteAppAndRun">
		<soap:operation soapAction="urn:sympasoap#authenticateRemoteAppAndRun"/>
			<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>
	<operation name="getDetails">
		<soap:operation soapAction="urn:sympasoap#getDetails"/>
			<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="setDetails">
		<soap:operation soapAction="urn:sympasoap#setDetails"/>
			<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="setCustom">
		<soap:operation soapAction="urn:sympasoap#setCustom"/>
			<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="https://lists.illinois.edu/sympasoap"/>
	</port>
</service>

</definitions>
