<?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">
		<xsd:restriction base='xsd:string'>
			<enumeration value="user"/>
			<enumeration value="operator"/>
			<enumeration value="admin"/>
		</xsd:restriction>
	</simpleType>
	<simpleType name="PasswordType">
		<xsd:restriction base='xsd:string'/>
	</simpleType>
	<simpleType name="StateId">
		<xsd:restriction base='xsd:string'>
	<enumeration value=""/>
			<enumeration value="ERG1"/>
			<enumeration value="ERG2"/>
		</xsd: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>
  </types>
  <message name='AddUser'>
    <part name='adminName' type='xsd:string'/>
    <part name='adminPwd' type='typens:PasswordType'/>
	<part name='userEmail' type='xsd:string'/>
	<part name='userType' type='typens:UserType'/>
	<part name='userPwd' type='typens:PasswordType'/>
	<part name='confirmUserPwd' type='typens:PasswordType'/>
	<part name='affiliate' type='typens:StateId'/>
  </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>
