<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService">
      <s:element name="UserLogin">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UserLoginResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CheckUserExists">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CheckUserExistsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CheckUserExistsResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UserLoginBySQuestion">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SQuestion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SAnswer" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UserLoginBySQuestionResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginBySQuestionResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetUserDetails">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetUserDetailsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetUserDetailsResult" type="tns:UserDetails" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="UserDetails">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="RegisterDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="UpdateDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="IsApproved" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="IsLockedOut" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="IsSuperUser" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="AdminID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="FullName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Zip" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CompanyURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="IP" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Money" type="s:decimal" />
          <s:element minOccurs="0" maxOccurs="1" name="SQuestion" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SAnswer" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="CustomerID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="BindNum" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetReportDetails">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetReportDetailsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetReportDetailsResult" type="tns:ReportDetails" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ReportDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Balance" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="MonthlyFee" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="LicenseFee" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalLicenses" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalCost" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CostToday" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CostYesterday" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CostThisMonth" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CostLastMonth" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CountToday" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="CountYesterday" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="CountThisMonth" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="CountLastMonth" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Date1" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="Date2" type="s:dateTime" />
        </s:sequence>
      </s:complexType>
      <s:element name="DeleteUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DeleteUserResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getLicenseRemote">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ClientInfo" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RightsID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserFullName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GroupID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getLicenseRemoteResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="getLicenseRemoteResult" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getLicenseRemoteToTable">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ClientInfo" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RightsID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserFullName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GroupID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="getLicenseRemoteToTableResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="getLicenseRemoteToTableResult" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FormatLicenseToTable">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="License" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="FormatLicenseToTableResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="FormatLicenseToTableResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetLicenseProfileDetails">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="YourProductID" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetLicenseProfileDetailsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetLicenseProfileDetailsResult" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="YourProductID" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPackagerParams">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileID" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPackagerParamsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPackagerParamsResult" type="tns:LicenseProfilePackagerDetails" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="LicenseProfilePackagerDetails">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Seed" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="KeyID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CheckSum" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PrivKey" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="DeleteLicenseProfile">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="ProfileID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteLicenseProfileResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DeleteLicenseProfileResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddNewUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GroupID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserPassword" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserFullName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CompanyURL" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecurityQuestion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecurityAnswer" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Money" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="BindNumber" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IsApproved" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IsLockedOut" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddNewUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddNewUserResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GroupID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserLoginName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserPassword" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserFullName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CompanyURL" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecurityQuestion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecurityAnswer" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="BindNumber" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IsApproved" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IsLockedOut" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateUserResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateUserGroup">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="GroupName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP1" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP2" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RequireLogin" type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="CustomerID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="BindNum" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateUserGroupResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateUserGroupResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetUserGroupDetails">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetUserGroupDetailsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetUserGroupDetailsResult" type="tns:GroupDetails" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GroupDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="GroupName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="AdminID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="IP1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="IP2" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="RequireLogin" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="CustomerID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="BindNum" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:element name="DeleteUserGroup">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteUserGroupResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DeleteUserGroupResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateLicenseProfile">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="YourProductID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecurityVersion" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateLicenseProfileResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateLicenseProfileResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UserAddMoney">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Money" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UserEmail" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UserAddMoneyResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UserAddMoneyResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateRight">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RightsID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="PlayCount" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="BeginDate" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ExpirationDate" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ExpirationAfterFirstUse" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RightsPrice" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AllowPrint" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AllowClipBoard" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AllowDoc" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="EnableWatermark" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WatermarkText" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WatermarkArea" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RandomChangeArea" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RandomFrquency" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateRightResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateRightResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddLicenseProfile">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProfileName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="YourProductID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecurityVersion" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddLicenseProfileResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddLicenseProfileResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddLicenseProfileToGroup">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="LicenseProfileID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddLicenseProfileToGroupResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddLicenseProfileToGroupResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveLicenseProfilesFromGroup">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveLicenseProfilesFromGroupResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RemoveLicenseProfilesFromGroupResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddRight">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="PlayCount" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="BeginDate" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ExpirationDate" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ExpirationAfterFirstUse" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RightsPrice" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AllowPrint" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AllowClipBoard" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AllowDoc" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="EnableWatermark" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WatermarkText" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WatermarkArea" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RandomChangeArea" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RandomFrquency" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddRightResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddRightResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddRightToLicenseProfile">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RightID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="LicenseProfileID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddRightToLicenseProfileResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddRightToLicenseProfileResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveRightsFromLicenseProfile">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="LicenseProfileID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RemoveRightsFromLicenseProfileResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RemoveRightsFromLicenseProfileResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddUserGroup">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GroupName" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="IP1" type="s:double" />
            <s:element minOccurs="1" maxOccurs="1" name="IP2" type="s:double" />
            <s:element minOccurs="1" maxOccurs="1" name="RequireLogin" type="s:boolean" />
            <s:element minOccurs="1" maxOccurs="1" name="CustomerID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="BindNum" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddUserGroupResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddUserGroupResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListRights">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="LicenseProfileID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListRightsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ListRightsResult" type="tns:ArrayOfAnyType" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfAnyType">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="LicenseProfileDetails">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="LicenseProfileID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LicenseProfileName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="KeyID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Individualization" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="CreateDate" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="YourSeedID" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="ListUserGroups">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListUserGroupsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ListUserGroupsResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListLicenseProfiles">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListLicenseProfilesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ListLicenseProfilesResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListUsers">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="PageNo" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="PageSize" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SortField" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SortOrder" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalPages" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalRows" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListUsersResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ListUsersResult" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalPages" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalRows" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListReports">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdminEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="BeginDate" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="GroupID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="PageNo" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="PageSize" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SortField" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SortOrder" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalPages" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalRows" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ListReportsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ListReportsResult" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalPages" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="TotalRows" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRights">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RightsID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="RightsDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="RightsID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="RightsDescription" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowPlayOnPc" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="Playcount" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowBurnToCD" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="BurnToCDCount" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowBackupRestore" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="BeginDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="ExpirationDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="ExpirationAfterFirstUse" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="ExpirationOnStore" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="DeleteOnClockRollBack" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="DisableOnClockRollBack" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowTransferToNonSDMI" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowTransferToSDMI" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="TransferCount" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="PMRights" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="PMExpirationDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="Price" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="GracePeriod" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowCopy" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="CopyCount" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowPrint" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowClipBoard" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowDoc" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="EnableWatermark" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="WatermarkText" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="WatermarkArea" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="RandomChangeArea" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="RandomFrequency" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="FontSize" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="BlockScreen2" type="s:boolean" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetRightsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetRightsResult" type="tns:RightsDetails" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRightsReturnString">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RightsID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRightsReturnStringResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetRightsReturnStringResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteRight">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RightsID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteRightResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DeleteRightResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SendEmail">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="AuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Body" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SendEmailResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SendEmailResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddNewAdmin">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="fullName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Zip" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RegisterDate" type="s:dateTime" />
            <s:element minOccurs="1" maxOccurs="1" name="AffiID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="Paypal" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CompanyURL" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="LicenseURL" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="IP" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="AdminType" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SQuestion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SAnswer" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="FeeID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="AffiTotal" type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="AffiLimit" type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="AffiRate" type="s:decimal" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddNewAdminResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AddNewAdminResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateAdminInfo">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Zip" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CompanyURL" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SecEmail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SQuestion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SAnswer" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateAdminInfoResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateAdminInfoResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateAdminPwd">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="WebServiceAuthStr" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="UpdateAdminPwdResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="UpdateAdminPwdResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="UserLoginSoapIn">
    <wsdl:part name="parameters" element="tns:UserLogin" />
  </wsdl:message>
  <wsdl:message name="UserLoginSoapOut">
    <wsdl:part name="parameters" element="tns:UserLoginResponse" />
  </wsdl:message>
  <wsdl:message name="CheckUserExistsSoapIn">
    <wsdl:part name="parameters" element="tns:CheckUserExists" />
  </wsdl:message>
  <wsdl:message name="CheckUserExistsSoapOut">
    <wsdl:part name="parameters" element="tns:CheckUserExistsResponse" />
  </wsdl:message>
  <wsdl:message name="UserLoginBySQuestionSoapIn">
    <wsdl:part name="parameters" element="tns:UserLoginBySQuestion" />
  </wsdl:message>
  <wsdl:message name="UserLoginBySQuestionSoapOut">
    <wsdl:part name="parameters" element="tns:UserLoginBySQuestionResponse" />
  </wsdl:message>
  <wsdl:message name="GetUserDetailsSoapIn">
    <wsdl:part name="parameters" element="tns:GetUserDetails" />
  </wsdl:message>
  <wsdl:message name="GetUserDetailsSoapOut">
    <wsdl:part name="parameters" element="tns:GetUserDetailsResponse" />
  </wsdl:message>
  <wsdl:message name="GetReportDetailsSoapIn">
    <wsdl:part name="parameters" element="tns:GetReportDetails" />
  </wsdl:message>
  <wsdl:message name="GetReportDetailsSoapOut">
    <wsdl:part name="parameters" element="tns:GetReportDetailsResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteUserSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteUser" />
  </wsdl:message>
  <wsdl:message name="DeleteUserSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteUserResponse" />
  </wsdl:message>
  <wsdl:message name="getLicenseRemoteSoapIn">
    <wsdl:part name="parameters" element="tns:getLicenseRemote" />
  </wsdl:message>
  <wsdl:message name="getLicenseRemoteSoapOut">
    <wsdl:part name="parameters" element="tns:getLicenseRemoteResponse" />
  </wsdl:message>
  <wsdl:message name="getLicenseRemoteToTableSoapIn">
    <wsdl:part name="parameters" element="tns:getLicenseRemoteToTable" />
  </wsdl:message>
  <wsdl:message name="getLicenseRemoteToTableSoapOut">
    <wsdl:part name="parameters" element="tns:getLicenseRemoteToTableResponse" />
  </wsdl:message>
  <wsdl:message name="FormatLicenseToTableSoapIn">
    <wsdl:part name="parameters" element="tns:FormatLicenseToTable" />
  </wsdl:message>
  <wsdl:message name="FormatLicenseToTableSoapOut">
    <wsdl:part name="parameters" element="tns:FormatLicenseToTableResponse" />
  </wsdl:message>
  <wsdl:message name="GetLicenseProfileDetailsSoapIn">
    <wsdl:part name="parameters" element="tns:GetLicenseProfileDetails" />
  </wsdl:message>
  <wsdl:message name="GetLicenseProfileDetailsSoapOut">
    <wsdl:part name="parameters" element="tns:GetLicenseProfileDetailsResponse" />
  </wsdl:message>
  <wsdl:message name="GetPackagerParamsSoapIn">
    <wsdl:part name="parameters" element="tns:GetPackagerParams" />
  </wsdl:message>
  <wsdl:message name="GetPackagerParamsSoapOut">
    <wsdl:part name="parameters" element="tns:GetPackagerParamsResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteLicenseProfileSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteLicenseProfile" />
  </wsdl:message>
  <wsdl:message name="DeleteLicenseProfileSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteLicenseProfileResponse" />
  </wsdl:message>
  <wsdl:message name="AddNewUserSoapIn">
    <wsdl:part name="parameters" element="tns:AddNewUser" />
  </wsdl:message>
  <wsdl:message name="AddNewUserSoapOut">
    <wsdl:part name="parameters" element="tns:AddNewUserResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateUserSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateUser" />
  </wsdl:message>
  <wsdl:message name="UpdateUserSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateUserResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateUserGroupSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateUserGroup" />
  </wsdl:message>
  <wsdl:message name="UpdateUserGroupSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateUserGroupResponse" />
  </wsdl:message>
  <wsdl:message name="GetUserGroupDetailsSoapIn">
    <wsdl:part name="parameters" element="tns:GetUserGroupDetails" />
  </wsdl:message>
  <wsdl:message name="GetUserGroupDetailsSoapOut">
    <wsdl:part name="parameters" element="tns:GetUserGroupDetailsResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteUserGroupSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteUserGroup" />
  </wsdl:message>
  <wsdl:message name="DeleteUserGroupSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteUserGroupResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateLicenseProfileSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateLicenseProfile" />
  </wsdl:message>
  <wsdl:message name="UpdateLicenseProfileSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateLicenseProfileResponse" />
  </wsdl:message>
  <wsdl:message name="UserAddMoneySoapIn">
    <wsdl:part name="parameters" element="tns:UserAddMoney" />
  </wsdl:message>
  <wsdl:message name="UserAddMoneySoapOut">
    <wsdl:part name="parameters" element="tns:UserAddMoneyResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateRightSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateRight" />
  </wsdl:message>
  <wsdl:message name="UpdateRightSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateRightResponse" />
  </wsdl:message>
  <wsdl:message name="AddLicenseProfileSoapIn">
    <wsdl:part name="parameters" element="tns:AddLicenseProfile" />
  </wsdl:message>
  <wsdl:message name="AddLicenseProfileSoapOut">
    <wsdl:part name="parameters" element="tns:AddLicenseProfileResponse" />
  </wsdl:message>
  <wsdl:message name="AddLicenseProfileToGroupSoapIn">
    <wsdl:part name="parameters" element="tns:AddLicenseProfileToGroup" />
  </wsdl:message>
  <wsdl:message name="AddLicenseProfileToGroupSoapOut">
    <wsdl:part name="parameters" element="tns:AddLicenseProfileToGroupResponse" />
  </wsdl:message>
  <wsdl:message name="RemoveLicenseProfilesFromGroupSoapIn">
    <wsdl:part name="parameters" element="tns:RemoveLicenseProfilesFromGroup" />
  </wsdl:message>
  <wsdl:message name="RemoveLicenseProfilesFromGroupSoapOut">
    <wsdl:part name="parameters" element="tns:RemoveLicenseProfilesFromGroupResponse" />
  </wsdl:message>
  <wsdl:message name="AddRightSoapIn">
    <wsdl:part name="parameters" element="tns:AddRight" />
  </wsdl:message>
  <wsdl:message name="AddRightSoapOut">
    <wsdl:part name="parameters" element="tns:AddRightResponse" />
  </wsdl:message>
  <wsdl:message name="AddRightToLicenseProfileSoapIn">
    <wsdl:part name="parameters" element="tns:AddRightToLicenseProfile" />
  </wsdl:message>
  <wsdl:message name="AddRightToLicenseProfileSoapOut">
    <wsdl:part name="parameters" element="tns:AddRightToLicenseProfileResponse" />
  </wsdl:message>
  <wsdl:message name="RemoveRightsFromLicenseProfileSoapIn">
    <wsdl:part name="parameters" element="tns:RemoveRightsFromLicenseProfile" />
  </wsdl:message>
  <wsdl:message name="RemoveRightsFromLicenseProfileSoapOut">
    <wsdl:part name="parameters" element="tns:RemoveRightsFromLicenseProfileResponse" />
  </wsdl:message>
  <wsdl:message name="AddUserGroupSoapIn">
    <wsdl:part name="parameters" element="tns:AddUserGroup" />
  </wsdl:message>
  <wsdl:message name="AddUserGroupSoapOut">
    <wsdl:part name="parameters" element="tns:AddUserGroupResponse" />
  </wsdl:message>
  <wsdl:message name="ListRightsSoapIn">
    <wsdl:part name="parameters" element="tns:ListRights" />
  </wsdl:message>
  <wsdl:message name="ListRightsSoapOut">
    <wsdl:part name="parameters" element="tns:ListRightsResponse" />
  </wsdl:message>
  <wsdl:message name="ListUserGroupsSoapIn">
    <wsdl:part name="parameters" element="tns:ListUserGroups" />
  </wsdl:message>
  <wsdl:message name="ListUserGroupsSoapOut">
    <wsdl:part name="parameters" element="tns:ListUserGroupsResponse" />
  </wsdl:message>
  <wsdl:message name="ListLicenseProfilesSoapIn">
    <wsdl:part name="parameters" element="tns:ListLicenseProfiles" />
  </wsdl:message>
  <wsdl:message name="ListLicenseProfilesSoapOut">
    <wsdl:part name="parameters" element="tns:ListLicenseProfilesResponse" />
  </wsdl:message>
  <wsdl:message name="ListUsersSoapIn">
    <wsdl:part name="parameters" element="tns:ListUsers" />
  </wsdl:message>
  <wsdl:message name="ListUsersSoapOut">
    <wsdl:part name="parameters" element="tns:ListUsersResponse" />
  </wsdl:message>
  <wsdl:message name="ListReportsSoapIn">
    <wsdl:part name="parameters" element="tns:ListReports" />
  </wsdl:message>
  <wsdl:message name="ListReportsSoapOut">
    <wsdl:part name="parameters" element="tns:ListReportsResponse" />
  </wsdl:message>
  <wsdl:message name="GetRightsSoapIn">
    <wsdl:part name="parameters" element="tns:GetRights" />
  </wsdl:message>
  <wsdl:message name="GetRightsSoapOut">
    <wsdl:part name="parameters" element="tns:GetRightsResponse" />
  </wsdl:message>
  <wsdl:message name="GetRightsReturnStringSoapIn">
    <wsdl:part name="parameters" element="tns:GetRightsReturnString" />
  </wsdl:message>
  <wsdl:message name="GetRightsReturnStringSoapOut">
    <wsdl:part name="parameters" element="tns:GetRightsReturnStringResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteRightSoapIn">
    <wsdl:part name="parameters" element="tns:DeleteRight" />
  </wsdl:message>
  <wsdl:message name="DeleteRightSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteRightResponse" />
  </wsdl:message>
  <wsdl:message name="SendEmailSoapIn">
    <wsdl:part name="parameters" element="tns:SendEmail" />
  </wsdl:message>
  <wsdl:message name="SendEmailSoapOut">
    <wsdl:part name="parameters" element="tns:SendEmailResponse" />
  </wsdl:message>
  <wsdl:message name="AddNewAdminSoapIn">
    <wsdl:part name="parameters" element="tns:AddNewAdmin" />
  </wsdl:message>
  <wsdl:message name="AddNewAdminSoapOut">
    <wsdl:part name="parameters" element="tns:AddNewAdminResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateAdminInfoSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateAdminInfo" />
  </wsdl:message>
  <wsdl:message name="UpdateAdminInfoSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateAdminInfoResponse" />
  </wsdl:message>
  <wsdl:message name="UpdateAdminPwdSoapIn">
    <wsdl:part name="parameters" element="tns:UpdateAdminPwd" />
  </wsdl:message>
  <wsdl:message name="UpdateAdminPwdSoapOut">
    <wsdl:part name="parameters" element="tns:UpdateAdminPwdResponse" />
  </wsdl:message>
  <wsdl:portType name="HaihaisoftLicenseServiceSoap">
    <wsdl:operation name="UserLogin">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function helps you check if End User can login. If end user login successfully, it will return UserID value. Otherwise, it will return 0.</documentation>
      <wsdl:input message="tns:UserLoginSoapIn" />
      <wsdl:output message="tns:UserLoginSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CheckUserExists">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function helps you check if End User exists. If end user exists, it will return UserID value. Otherwise, it will return 0.</documentation>
      <wsdl:input message="tns:CheckUserExistsSoapIn" />
      <wsdl:output message="tns:CheckUserExistsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UserLoginBySQuestion">
      <wsdl:input message="tns:UserLoginBySQuestionSoapIn" />
      <wsdl:output message="tns:UserLoginBySQuestionSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetUserDetails">
      <wsdl:input message="tns:GetUserDetailsSoapIn" />
      <wsdl:output message="tns:GetUserDetailsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetReportDetails">
      <wsdl:input message="tns:GetReportDetailsSoapIn" />
      <wsdl:output message="tns:GetReportDetailsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteUser">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function deletes your End User Account in DRM-X platform. If delete success, it will return 1</documentation>
      <wsdl:input message="tns:DeleteUserSoapIn" />
      <wsdl:output message="tns:DeleteUserSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="getLicenseRemote">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function gets License value. The license value is for you to deliver the license to End User. If delete success, it will return License value. Otherwise, you will get error from Message.</documentation>
      <wsdl:input message="tns:getLicenseRemoteSoapIn" />
      <wsdl:output message="tns:getLicenseRemoteSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="getLicenseRemoteToTable">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function gets License value to a hidden table. It solved IE8 problem. We highly recommend this function instead of getLicenseRemote. The license value is for you to deliver the license to End User. If delete success, it will return License value. Otherwise, you will get error from Message.</documentation>
      <wsdl:input message="tns:getLicenseRemoteToTableSoapIn" />
      <wsdl:output message="tns:getLicenseRemoteToTableSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="FormatLicenseToTable">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function will format license value to Table Format. It solves get license in IE 8 problem. </documentation>
      <wsdl:input message="tns:FormatLicenseToTableSoapIn" />
      <wsdl:output message="tns:FormatLicenseToTableSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetLicenseProfileDetails">
      <wsdl:input message="tns:GetLicenseProfileDetailsSoapIn" />
      <wsdl:output message="tns:GetLicenseProfileDetailsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPackagerParams">
      <wsdl:input message="tns:GetPackagerParamsSoapIn" />
      <wsdl:output message="tns:GetPackagerParamsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteLicenseProfile">
      <wsdl:input message="tns:DeleteLicenseProfileSoapIn" />
      <wsdl:output message="tns:DeleteLicenseProfileSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddNewUser">
      <wsdl:input message="tns:AddNewUserSoapIn" />
      <wsdl:output message="tns:AddNewUserSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateUser">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function will update DRM-X user information. The key parameter is UserLoginName. It identifies user by UserLoginName.</documentation>
      <wsdl:input message="tns:UpdateUserSoapIn" />
      <wsdl:output message="tns:UpdateUserSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateUserGroup">
      <wsdl:input message="tns:UpdateUserGroupSoapIn" />
      <wsdl:output message="tns:UpdateUserGroupSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetUserGroupDetails">
      <wsdl:input message="tns:GetUserGroupDetailsSoapIn" />
      <wsdl:output message="tns:GetUserGroupDetailsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteUserGroup">
      <wsdl:input message="tns:DeleteUserGroupSoapIn" />
      <wsdl:output message="tns:DeleteUserGroupSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateLicenseProfile">
      <wsdl:input message="tns:UpdateLicenseProfileSoapIn" />
      <wsdl:output message="tns:UpdateLicenseProfileSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UserAddMoney">
      <wsdl:input message="tns:UserAddMoneySoapIn" />
      <wsdl:output message="tns:UserAddMoneySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateRight">
      <wsdl:input message="tns:UpdateRightSoapIn" />
      <wsdl:output message="tns:UpdateRightSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddLicenseProfile">
      <wsdl:input message="tns:AddLicenseProfileSoapIn" />
      <wsdl:output message="tns:AddLicenseProfileSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddLicenseProfileToGroup">
      <wsdl:input message="tns:AddLicenseProfileToGroupSoapIn" />
      <wsdl:output message="tns:AddLicenseProfileToGroupSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RemoveLicenseProfilesFromGroup">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function remove all License Profiles of your specified User Group. It won't delete the License Profiles, just remove the License Profiles relations with your specified User Group.</documentation>
      <wsdl:input message="tns:RemoveLicenseProfilesFromGroupSoapIn" />
      <wsdl:output message="tns:RemoveLicenseProfilesFromGroupSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddRight">
      <wsdl:input message="tns:AddRightSoapIn" />
      <wsdl:output message="tns:AddRightSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddRightToLicenseProfile">
      <wsdl:input message="tns:AddRightToLicenseProfileSoapIn" />
      <wsdl:output message="tns:AddRightToLicenseProfileSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RemoveRightsFromLicenseProfile">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function removes all Rights of your specified License Profile. It won't delete the Rights, just remove the Rights relations with your specified License Profile.</documentation>
      <wsdl:input message="tns:RemoveRightsFromLicenseProfileSoapIn" />
      <wsdl:output message="tns:RemoveRightsFromLicenseProfileSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddUserGroup">
      <wsdl:input message="tns:AddUserGroupSoapIn" />
      <wsdl:output message="tns:AddUserGroupSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListRights">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function lists your Rights. If you want to list all Rights, please set value -1 to LicenseProfileID. </documentation>
      <wsdl:input message="tns:ListRightsSoapIn" />
      <wsdl:output message="tns:ListRightsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListUserGroups">
      <wsdl:input message="tns:ListUserGroupsSoapIn" />
      <wsdl:output message="tns:ListUserGroupsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListLicenseProfiles">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function lists your License Profiles. If you want to list all License Profiles, please set value -1 to GroupID. </documentation>
      <wsdl:input message="tns:ListLicenseProfilesSoapIn" />
      <wsdl:output message="tns:ListLicenseProfilesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListUsers">
      <wsdl:input message="tns:ListUsersSoapIn" />
      <wsdl:output message="tns:ListUsersSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ListReports">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">This function lists your license report. The BeginDate and EndDate input format must be YYYY-MM-DD. For example, BeginDate=2009-3-29</documentation>
      <wsdl:input message="tns:ListReportsSoapIn" />
      <wsdl:output message="tns:ListReportsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRights">
      <wsdl:input message="tns:GetRightsSoapIn" />
      <wsdl:output message="tns:GetRightsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRightsReturnString">
      <wsdl:input message="tns:GetRightsReturnStringSoapIn" />
      <wsdl:output message="tns:GetRightsReturnStringSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DeleteRight">
      <wsdl:input message="tns:DeleteRightSoapIn" />
      <wsdl:output message="tns:DeleteRightSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SendEmail">
      <wsdl:input message="tns:SendEmailSoapIn" />
      <wsdl:output message="tns:SendEmailSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddNewAdmin">
      <wsdl:input message="tns:AddNewAdminSoapIn" />
      <wsdl:output message="tns:AddNewAdminSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateAdminInfo">
      <wsdl:input message="tns:UpdateAdminInfoSoapIn" />
      <wsdl:output message="tns:UpdateAdminInfoSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UpdateAdminPwd">
      <wsdl:input message="tns:UpdateAdminPwdSoapIn" />
      <wsdl:output message="tns:UpdateAdminPwdSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="HaihaisoftLicenseServiceSoap" type="tns:HaihaisoftLicenseServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="UserLogin">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UserLogin" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CheckUserExists">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/CheckUserExists" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UserLoginBySQuestion">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UserLoginBySQuestion" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetUserDetails">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetUserDetails" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetReportDetails">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetReportDetails" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteUser">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/DeleteUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getLicenseRemote">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/getLicenseRemote" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getLicenseRemoteToTable">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/getLicenseRemoteToTable" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FormatLicenseToTable">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/FormatLicenseToTable" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetLicenseProfileDetails">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetLicenseProfileDetails" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPackagerParams">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetPackagerParams" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteLicenseProfile">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/DeleteLicenseProfile" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddNewUser">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddNewUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateUser">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UpdateUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateUserGroup">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UpdateUserGroup" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetUserGroupDetails">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetUserGroupDetails" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteUserGroup">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/DeleteUserGroup" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateLicenseProfile">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UpdateLicenseProfile" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UserAddMoney">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UserAddMoney" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateRight">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UpdateRight" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddLicenseProfile">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddLicenseProfile" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddLicenseProfileToGroup">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddLicenseProfileToGroup" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RemoveLicenseProfilesFromGroup">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/RemoveLicenseProfilesFromGroup" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddRight">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddRight" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddRightToLicenseProfile">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddRightToLicenseProfile" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RemoveRightsFromLicenseProfile">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/RemoveRightsFromLicenseProfile" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddUserGroup">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddUserGroup" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListRights">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/ListRights" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListUserGroups">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/ListUserGroups" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListLicenseProfiles">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/ListLicenseProfiles" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListUsers">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/ListUsers" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ListReports">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/ListReports" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRights">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetRights" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRightsReturnString">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/GetRightsReturnString" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteRight">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/DeleteRight" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SendEmail">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/SendEmail" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddNewAdmin">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/AddNewAdmin" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateAdminInfo">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UpdateAdminInfo" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateAdminPwd">
      <soap:operation soapAction="http://tempuri.org/ASPNET.StarterKit.Commerce/HaihaisoftLicenseService/UpdateAdminPwd" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="HaihaisoftLicenseService">
    <wsdl:port name="HaihaisoftLicenseServiceSoap" binding="tns:HaihaisoftLicenseServiceSoap">
      <soap:address location="http://www.drm-x.com/haihaisoftlicenseservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>