<?xml version="1.0" encoding="UTF-8"?>
<definitions 
			name="UserMgr" 
			targetNamespace="http://neien.org/schema/usermgr.wsdl" 
			xmlns:tns="http://neien.org/schema/usermgr.wsdl" 
			xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
			xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:typens="http://neien.org/schema/usermgr.xsd" 
			xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
			xmlns="http://schemas.xmlsoap.org/wsdl/">
	<types>
		
		<schema 
						targetNamespace="http://neien.org/schema/usermgr.xsd" 
						xmlns="http://www.w3.org/2001/XMLSchema" 
						xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
						xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
						elementFormDefault="qualified">
			<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
			
			<simpleType name="UserType">
				<restriction base="xsd:string">
					<enumeration value="user"/>
					<enumeration value="operator"/>
					<enumeration value="admin"/>
				</restriction>
			</simpleType>

			<simpleType name="PasswordType">
				<restriction base="xsd:string"/>
			</simpleType>
			<simpleType name="StateId">
				<restriction base="xsd:string">
					<enumeration value=""/>
					<enumeration value="ERG1"/>
					<enumeration value="ERG2"/>
				</restriction>
			</simpleType>
			<complexType name="UserInfo">
				<sequence>
					<element name="UserId" type="xsd:string"/>
					<element name="UserGroup" type="xsd:string"/>
					<element name="Owner" type="xsd:string"/>
					<element name="Node" type="xsd:string"/>
					<element name="Affiliate" type="xsd:string"/>
				</sequence>
			</complexType>

			<complexType name="UserProperty">
				<sequence>
					<element name="UserId" type="xsd:string"/>
					<element name="CommonName" type="xsd:string"/>
					<element name="Organization" type="xsd:string"/>
					<element name="OrganizationUnit" type="xsd:string"/>
					<element name="Address" type="xsd:string"/>
					<element name="City" type="xsd:string"/>
					<element name="State" type="typens:StateId"/>
					<element name="ZipCode" type="xsd:string"/>
					<element name="Phone" type="xsd:string"/>
					<element name="Supervisor" type="xsd:string"/>
					<element name="SupervisorPhone" type="xsd:string"/>
					<element name="UserData" type="xsd:string"/>
					<element name="SecurityLevel" type="xsd:string"/>
					<element name="CertificateStatus" type="xsd:string"/>
					<element name="LastChange" type="xsd:string" nillable="true"/>
				</sequence>
			</complexType>
			<complexType name="UserPropertyList">
				<complexContent>
					<restriction base="SOAP-ENC:Array">
						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="typens:UserProperty[]"/>
					</restriction>
				</complexContent>
			</complexType>
			<complexType name="UserList">
				<complexContent>
					<restriction base="SOAP-ENC:Array">
						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="typens:UserInfo[]"/>
					</restriction>
				</complexContent>
			</complexType>
		</schema>

		<schema 
						xmlns:typens="http://neien.org/schema/usermgr.xsd" 
						xmlns="http://www.w3.org/2001/XMLSchema" 
						elementFormDefault="qualified">
						<import namespace="http://neien.org/schema/usermgr.xsd"/>		
						<element name="adminPwd" type="typens:PasswordType"/>
						<element name="userType" type="typens:UserType"/>	
						<element name="userPwd" type="typens:PasswordType"/>
						<element name="confirmUserPwd" type="typens:PasswordType"/>
						<element name="affiliate" type="typens:StateId"/>
		</schema>		


	</types>
	
	<message name="AddUser">
		<part name="adminName" type="xsd:string"/>
		<part name="adminPwd" element="adminPwd"/>
		<part name="userEmail" type="xsd:string"/>
		<part name="userType" element="UserType"/>
		<part name="userPwd" element="adminPwd"/>
		<part name="confirmUserPwd" element="confirmUserPwd"/>
		<part name="affiliate" element="affiliate"/>
	</message>
	<message name="AddUserResponse">
		<part name="return" type="xsd:string"/>
	</message>
	<portType name="UserMgrPortType">
		<operation name="AddUser">
			<documentation>Add a new user.The system uses email address as the user id. All parameters are required.Password should contain a mix of lower case, upper case and numeric characters.</documentation>
			<input message="tns:AddUser"/>
			<output message="tns:AddUserResponse"/>
		</operation>
	</portType>
	<binding name="UserMgrBinding" type="tns:UserMgrPortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="AddUser">
			<soap:operation soapAction=""/>
			<input>
				<soap:body use="encoded" namespace="http://neien.org/schema/usermgr.xsd" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body use="encoded" namespace="http://neien.org/schema/usermgr.xsd" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
		</operation>
	</binding>
	<service name="usermgr">
		<documentation>A simple user identity management service.</documentation>
		<port name="UserMgrPortType" binding="tns:UserMgrBinding">
			<soap:address location="https://naas.epacdxnode.net/xml/usermgr.wsdl"/>
		</port>
	</service>
</definitions>