Subversion Repositories XServices

Compare Revisions

No changes between revisions

Ignore whitespace Rev 149 → Rev 150

/SVN-ALFEventEmitter/trunk/.classpath
1,7 → 1,13
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=SVNConnector&amp;ivyXmlPath=ivy.xml&amp;confs=*"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=SVN-ALFEventEmitter&amp;ivyXmlPath=ivy.xml&amp;confs=default&amp;ivySettingsPath=ivysettings.xml&amp;loadSettingsOnDemand=false&amp;ivyUserDir=&amp;propertyFiles="/>
<classpathentry kind="output" path="bin"/>
</classpath>
/SVN-ALFEventEmitter/trunk/.project
6,13 → 6,32
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.apache.ivyde.eclipse.ivynature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
/SVN-ALFEventEmitter/trunk/ivy.xml
40,5 → 40,16
<dependency org="org.apache.ws.commons.axiom" name="axiom-api" rev="1.2.14"/>
<dependency org="org.apache.ws.commons.axiom" name="axiom-impl" rev="1.2.14"/>
<dependency org="com.sun.xml.bind" name="jaxb-impl" rev="2.2.7"/>
<dependency org="org.apache.cxf" name="cxf-rt-core" rev="2.7.0"/>
<dependency org="org.apache.cxf" name="cxf-rt-frontend-jaxws" rev="2.7.0"/>
<!--
Locally managed libraries
-->
<dependency org="lib" name="sbmappservices72" rev="1.0" conf="*->*">
<artifact name="sbmappservices72" type="jar" />
</dependency>
</dependencies>
</ivy-module>
/SVN-ALFEventEmitter/trunk/lib/sbmappservices72-1.0.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/src/sbmadminservices72.wsdl
0,0 → 1,1584
<?xml version="1.0" encoding="utf-8"?>
<WSDL:definitions xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:diag="urn:SerenaDiagnostics" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://localhost:80/gsoap/sbmadminservices72.wsdl" xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ae="urn:sbmadminservices72" xmlns="http://schemas.xmlsoap.org/wsdl/" name="sbmadminservices72" targetNamespace="http://localhost:80/gsoap/sbmadminservices72.wsdl" xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/">
<WSDL:types>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="urn:SerenaDiagnostics">
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
<xsd:import namespace="urn:sbmadminservices72" />
<xsd:complexType name="SerenaDiagnostics">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" ref="diag:XId" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="XId" type="xsd:string" />
<xsd:element name="SerenaDiagnostics" type="diag:SerenaDiagnostics" />
</xsd:schema>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:sbmadminservices72">
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
<xsd:import namespace="urn:SerenaDiagnostics" />
<xsd:element name="AEWebservicesFault" type="xsd:string" />
<xsd:simpleType name="PrivilegeKind">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="USER-KIND" />
<xsd:enumeration value="ADMIN-KIND" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="GrantState">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="INHERITED" />
<xsd:enumeration value="REVOKED" />
<xsd:enumeration value="GRANTED" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MultipleOption">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CONTINUE-ON-FAILURE" />
<xsd:enumeration value="STOP-ON-FAILURE" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SectionsOption">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SECTIONS-ALL" />
<xsd:enumeration value="SECTIONS-NONE" />
<xsd:enumeration value="SECTIONS-SPECIFIED" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="StatusEnum">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IS-WARNING" />
<xsd:enumeration value="IS-INFORMATION" />
<xsd:enumeration value="IS-ERROR" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Attachment-Access-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ATTACHACCESS-DEFAULT" />
<xsd:enumeration value="ATTACHACCESS-RESTRICTED" />
<xsd:enumeration value="ATTACHACCESS-UNRESTRICTED" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DatePreference">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DATE-FORMAT-FROM-LOCALE" />
<xsd:enumeration value="DATE-FORMAT-MM-DD-YYYY" />
<xsd:enumeration value="DATE-FORMAT-DD-MM-YYYY" />
<xsd:enumeration value="DATE-FORMAT-DD-MM-YYYY.S" />
<xsd:enumeration value="DATE-FORMAT-YYYY-MM-DD" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TimePreference">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TIME-FORMAT-12HOUR" />
<xsd:enumeration value="TIME-FORMAT-24HOUR" />
<xsd:enumeration value="TIME-FORMAT-USE-GMT-OFFSET" />
<xsd:enumeration value="TIME-FORMAT-HONOR-DAYLIGHT" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AccessType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ACCESS-NONE" />
<xsd:enumeration value="ACCESS-USER" />
<xsd:enumeration value="ACCESS-OCCASIONAL" />
<xsd:enumeration value="ACCESS-EXTERNAL" />
<xsd:enumeration value="ACCESS-ADMIN" />
<xsd:enumeration value="ACCESS-APISCRIPT" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="GroupListAction">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ADD-GROUPS" />
<xsd:enumeration value="REPLACE-GROUPS" />
<xsd:enumeration value="REMOVE-GROUPS" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ExtraValue">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="value" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ExtendedData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="data" type="ae:ExtraValue" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Auth">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="userId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="password" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="hostname" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="loginAsUserId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="displayName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="uuid" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ItemIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="tableId" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="tableIdItemId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="issueId" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="StateIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="isClosed" type="xsd:boolean" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TransitionIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ProjectIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="fullyQualifiedName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TableIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="dbName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FieldIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="dbName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UserIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="loginId" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GroupIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SolutionIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="uniqueName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="tabName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ApplicationIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="WorkflowIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ReportIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContactIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="RoleIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="projectId" nillable="true" type="ae:ProjectIdentifier" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="PrivilegeIdentifier">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="type" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Options">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="extraOption" type="ae:ExtraValue" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MultipleOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Options">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="multiOption" type="ae:MultipleOption" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ResponseItemOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Options">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="sections" type="ae:SectionsOption" />
<xsd:element minOccurs="0" maxOccurs="1" name="specifiedSections" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="limitedField" type="ae:FieldIdentifier" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="MultipleResponseItemOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:ResponseItemOptions">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="multiOption" type="ae:MultipleOption" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UserSingleResponseOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Options">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="sections" type="ae:SectionsOption" />
<xsd:element minOccurs="0" maxOccurs="1" name="specifiedSections" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UserResponseOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:UserSingleResponseOptions">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="multiOption" type="ae:MultipleOption" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Status">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="status" type="ae:StatusEnum" />
<xsd:element minOccurs="0" maxOccurs="1" name="code" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="message" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FieldValue">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="displayValue" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="internalValue" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="uuid" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FileAttachment">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="fileName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="showAsImage" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="modificationDateTime" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="url" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" default="ATTACHACCESS-DEFAULT" name="accessType" type="ae:Attachment-Access-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FileBufferBase64">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="data" nillable="true" type="xsd:base64Binary" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FileAttachmentContents">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:FileAttachment">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="contentsBase64" nillable="true" type="ae:FileBufferBase64" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FileContents">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="contentsBase64" nillable="true" type="ae:FileBufferBase64" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserSolutionData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="homeReport" nillable="true" type="ae:ReportIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="preferredProject" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserInfo">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="accessType" type="ae:AccessType" />
<xsd:element minOccurs="0" maxOccurs="1" name="email" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="emailCC" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="timezone" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="offsetFromGMT" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="dstSavings" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="datePreference" type="ae:DatePreference" />
<xsd:element minOccurs="0" maxOccurs="1" name="timePreference" type="ae:TimePreference" />
<xsd:element minOccurs="0" maxOccurs="1" name="namespaceName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="phoneNumber" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="locale" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="isDeleted" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="contact" nillable="true" type="ae:ContactIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxNotes" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxChangeHistory" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxItemsPerPage" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="fieldsMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="notesMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="changeHistoryMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="browserMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="group" type="ae:GroupIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="preferredSolution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="solutionData" type="ae:UserSolutionData" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserHolder">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GroupInfo">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="accessType" type="ae:AccessType" />
<xsd:element minOccurs="0" maxOccurs="1" name="memo" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="isDeleted" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GroupHolder">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="group" nillable="true" type="ae:GroupInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RoleInfo">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="ae:RoleIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="access" type="ae:GrantState" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PrivilegeInfo">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="privilegeId" nillable="true" type="ae:PrivilegeIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="access" type="ae:GrantState" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectId" nillable="true" type="ae:Identifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="projectId" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RoleHolder">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="role" nillable="true" type="ae:RoleInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PrivilegeHolder">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="privilege" nillable="true" type="ae:PrivilegeInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProjectGeneralData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="parentProject" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="workflow" nillable="true" type="ae:WorkflowIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="useParentProjectWorkflow" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="1" name="projectSequence" type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="allowSubmit" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="1" name="useParentSequenceNumbers" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="1" name="lastItemSequenceNumber" type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="zeroFillTo" type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="allowAnonymousSubmit" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="altName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Privilege">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectUUID" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="type" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NewUser">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="userHolder" nillable="true" type="ae:UserHolder" />
<xsd:element minOccurs="1" maxOccurs="1" name="isNew" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="temporaryPassword" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Logout">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="LogoutResponse">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="GetVersion">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="GetVersionResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateProject">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="projectName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="parentProject" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="workflow" nillable="true" type="ae:WorkflowIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="useParentProjectWorkflow" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" default="true" name="allowSubmit" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" default="true" name="useParentSequenceNumbers" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" default="0" name="lastItemSequenceNumber" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" default="5" name="zeroFillTo" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" default="false" name="allowAnonymousSubmit" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="altName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateProjectResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:ProjectGeneralData" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteProcessApp">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="processAppName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteProcessAppResponse">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="HasUserPrivilege">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="privilegeName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasUserPrivilegeResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUserPrivileges">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="privilegeType" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUserPrivilegesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:Privilege" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IsUserValid">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IsUserValidResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUsers">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="getCurrentUser" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="searchByName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="user" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:UserResponseOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUsersResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:UserHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateUsers">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="templateUser" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" default="false" name="cloneGroups" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="1" name="updateIfExists" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="user" type="ae:UserInfo" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:UserResponseOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateUsersResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:NewUser" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UpdateUsers">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" default="false" name="allowEmptyValues" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="1" name="groupAction" type="ae:GroupListAction" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="user" type="ae:UserInfo" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:UserResponseOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UpdateUsersResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:UserHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetGroups">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="searchByName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="group" type="ae:GroupIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetGroupsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:GroupHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateGroups">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="templateGroup" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="updateIfExists" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="group" type="ae:GroupInfo" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateGroupsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:GroupHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UpdateGroups">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" default="false" name="allowEmptyValues" type="xsd:boolean" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="group" type="ae:GroupInfo" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UpdateGroupsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:GroupHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetUserPrivileges">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="privilege" type="ae:PrivilegeInfo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetUserPrivilegesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:PrivilegeHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetGroupPrivileges">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="group" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="privilege" type="ae:PrivilegeInfo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetGroupPrivilegesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:PrivilegeHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasGroupPrivilege">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="privilegeName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="group" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasGroupPrivilegeResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetGroupPrivileges">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="privilegeType" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="group" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetGroupPrivilegesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:Privilege" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasGroupRole">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="group" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="role" nillable="true" type="ae:RoleIdentifier" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasGroupRoleResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetGroupRoles">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="group" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetGroupRolesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:RoleHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasUserRole">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="role" nillable="true" type="ae:RoleIdentifier" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="HasUserRoleResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUserRoles">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUserRolesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:RoleHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetGroupRoles">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="group" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="role" type="ae:RoleInfo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetGroupRolesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:RoleHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetUserRoles">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="role" type="ae:RoleInfo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SetUserRolesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:RoleHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetPrivilegeTypes">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="kind" type="ae:PrivilegeKind" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetPrivilegeTypesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetTypePrivileges">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="privilegeType" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetTypePrivilegesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetRoleUsers">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="role" nillable="true" type="ae:RoleIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:UserResponseOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetRoleUsersResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:UserHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetRoleGroups">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="role" nillable="true" type="ae:RoleIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetRoleGroupsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:GroupHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</WSDL:types>
<WSDL:message name="Logout">
<WSDL:part name="parameters" element="ae:Logout" />
</WSDL:message>
<WSDL:message name="LogoutResponse">
<WSDL:part name="parameters" element="ae:LogoutResponse" />
</WSDL:message>
<WSDL:message name="GetVersion">
<WSDL:part name="parameters" element="ae:GetVersion" />
</WSDL:message>
<WSDL:message name="GetVersionResponse">
<WSDL:part name="parameters" element="ae:GetVersionResponse" />
</WSDL:message>
<WSDL:message name="CreateProject">
<WSDL:part name="parameters" element="ae:CreateProject" />
</WSDL:message>
<WSDL:message name="CreateProjectResponse">
<WSDL:part name="parameters" element="ae:CreateProjectResponse" />
</WSDL:message>
<WSDL:message name="DeleteProcessApp">
<WSDL:part name="parameters" element="ae:DeleteProcessApp" />
</WSDL:message>
<WSDL:message name="DeleteProcessAppResponse">
<WSDL:part name="parameters" element="ae:DeleteProcessAppResponse" />
</WSDL:message>
<WSDL:message name="HasUserPrivilege">
<WSDL:part name="parameters" element="ae:HasUserPrivilege" />
</WSDL:message>
<WSDL:message name="HasUserPrivilegeResponse">
<WSDL:part name="parameters" element="ae:HasUserPrivilegeResponse" />
</WSDL:message>
<WSDL:message name="GetUserPrivileges">
<WSDL:part name="parameters" element="ae:GetUserPrivileges" />
</WSDL:message>
<WSDL:message name="GetUserPrivilegesResponse">
<WSDL:part name="parameters" element="ae:GetUserPrivilegesResponse" />
</WSDL:message>
<WSDL:message name="IsUserValid">
<WSDL:part name="parameters" element="ae:IsUserValid" />
</WSDL:message>
<WSDL:message name="IsUserValidResponse">
<WSDL:part name="parameters" element="ae:IsUserValidResponse" />
</WSDL:message>
<WSDL:message name="GetUsers">
<WSDL:part name="parameters" element="ae:GetUsers" />
</WSDL:message>
<WSDL:message name="GetUsersResponse">
<WSDL:part name="parameters" element="ae:GetUsersResponse" />
</WSDL:message>
<WSDL:message name="CreateUsers">
<WSDL:part name="parameters" element="ae:CreateUsers" />
</WSDL:message>
<WSDL:message name="CreateUsersResponse">
<WSDL:part name="parameters" element="ae:CreateUsersResponse" />
</WSDL:message>
<WSDL:message name="UpdateUsers">
<WSDL:part name="parameters" element="ae:UpdateUsers" />
</WSDL:message>
<WSDL:message name="UpdateUsersResponse">
<WSDL:part name="parameters" element="ae:UpdateUsersResponse" />
</WSDL:message>
<WSDL:message name="GetGroups">
<WSDL:part name="parameters" element="ae:GetGroups" />
</WSDL:message>
<WSDL:message name="GetGroupsResponse">
<WSDL:part name="parameters" element="ae:GetGroupsResponse" />
</WSDL:message>
<WSDL:message name="CreateGroups">
<WSDL:part name="parameters" element="ae:CreateGroups" />
</WSDL:message>
<WSDL:message name="CreateGroupsResponse">
<WSDL:part name="parameters" element="ae:CreateGroupsResponse" />
</WSDL:message>
<WSDL:message name="UpdateGroups">
<WSDL:part name="parameters" element="ae:UpdateGroups" />
</WSDL:message>
<WSDL:message name="UpdateGroupsResponse">
<WSDL:part name="parameters" element="ae:UpdateGroupsResponse" />
</WSDL:message>
<WSDL:message name="SetUserPrivileges">
<WSDL:part name="parameters" element="ae:SetUserPrivileges" />
</WSDL:message>
<WSDL:message name="SetUserPrivilegesResponse">
<WSDL:part name="parameters" element="ae:SetUserPrivilegesResponse" />
</WSDL:message>
<WSDL:message name="SetGroupPrivileges">
<WSDL:part name="parameters" element="ae:SetGroupPrivileges" />
</WSDL:message>
<WSDL:message name="SetGroupPrivilegesResponse">
<WSDL:part name="parameters" element="ae:SetGroupPrivilegesResponse" />
</WSDL:message>
<WSDL:message name="HasGroupPrivilege">
<WSDL:part name="parameters" element="ae:HasGroupPrivilege" />
</WSDL:message>
<WSDL:message name="HasGroupPrivilegeResponse">
<WSDL:part name="parameters" element="ae:HasGroupPrivilegeResponse" />
</WSDL:message>
<WSDL:message name="GetGroupPrivileges">
<WSDL:part name="parameters" element="ae:GetGroupPrivileges" />
</WSDL:message>
<WSDL:message name="GetGroupPrivilegesResponse">
<WSDL:part name="parameters" element="ae:GetGroupPrivilegesResponse" />
</WSDL:message>
<WSDL:message name="HasGroupRole">
<WSDL:part name="parameters" element="ae:HasGroupRole" />
</WSDL:message>
<WSDL:message name="HasGroupRoleResponse">
<WSDL:part name="parameters" element="ae:HasGroupRoleResponse" />
</WSDL:message>
<WSDL:message name="GetGroupRoles">
<WSDL:part name="parameters" element="ae:GetGroupRoles" />
</WSDL:message>
<WSDL:message name="GetGroupRolesResponse">
<WSDL:part name="parameters" element="ae:GetGroupRolesResponse" />
</WSDL:message>
<WSDL:message name="HasUserRole">
<WSDL:part name="parameters" element="ae:HasUserRole" />
</WSDL:message>
<WSDL:message name="HasUserRoleResponse">
<WSDL:part name="parameters" element="ae:HasUserRoleResponse" />
</WSDL:message>
<WSDL:message name="GetUserRoles">
<WSDL:part name="parameters" element="ae:GetUserRoles" />
</WSDL:message>
<WSDL:message name="GetUserRolesResponse">
<WSDL:part name="parameters" element="ae:GetUserRolesResponse" />
</WSDL:message>
<WSDL:message name="SetGroupRoles">
<WSDL:part name="parameters" element="ae:SetGroupRoles" />
</WSDL:message>
<WSDL:message name="SetGroupRolesResponse">
<WSDL:part name="parameters" element="ae:SetGroupRolesResponse" />
</WSDL:message>
<WSDL:message name="SetUserRoles">
<WSDL:part name="parameters" element="ae:SetUserRoles" />
</WSDL:message>
<WSDL:message name="SetUserRolesResponse">
<WSDL:part name="parameters" element="ae:SetUserRolesResponse" />
</WSDL:message>
<WSDL:message name="GetPrivilegeTypes">
<WSDL:part name="parameters" element="ae:GetPrivilegeTypes" />
</WSDL:message>
<WSDL:message name="GetPrivilegeTypesResponse">
<WSDL:part name="parameters" element="ae:GetPrivilegeTypesResponse" />
</WSDL:message>
<WSDL:message name="GetTypePrivileges">
<WSDL:part name="parameters" element="ae:GetTypePrivileges" />
</WSDL:message>
<WSDL:message name="GetTypePrivilegesResponse">
<WSDL:part name="parameters" element="ae:GetTypePrivilegesResponse" />
</WSDL:message>
<WSDL:message name="GetRoleUsers">
<WSDL:part name="parameters" element="ae:GetRoleUsers" />
</WSDL:message>
<WSDL:message name="GetRoleUsersResponse">
<WSDL:part name="parameters" element="ae:GetRoleUsersResponse" />
</WSDL:message>
<WSDL:message name="GetRoleGroups">
<WSDL:part name="parameters" element="ae:GetRoleGroups" />
</WSDL:message>
<WSDL:message name="GetRoleGroupsResponse">
<WSDL:part name="parameters" element="ae:GetRoleGroupsResponse" />
</WSDL:message>
<WSDL:message name="AEWebservicesFaultFault">
<WSDL:part name="fault" element="ae:AEWebservicesFault" />
</WSDL:message>
<WSDL:portType name="sbmadminservices72PortType">
<WSDL:operation name="Logout">
<documentation>Logs out the current active session, releasing license.</documentation>
<WSDL:input message="tns:Logout" />
<WSDL:output message="tns:LogoutResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetVersion">
<documentation>Gets the server version.</documentation>
<WSDL:input message="tns:GetVersion" />
<WSDL:output message="tns:GetVersionResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateProject">
<documentation>Creates a project.</documentation>
<WSDL:input message="tns:CreateProject" />
<WSDL:output message="tns:CreateProjectResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="DeleteProcessApp">
<documentation>Deletes a process application.</documentation>
<WSDL:input message="tns:DeleteProcessApp" />
<WSDL:output message="tns:DeleteProcessAppResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="HasUserPrivilege">
<documentation>Checks for the specified privilege by name.</documentation>
<WSDL:input message="tns:HasUserPrivilege" />
<WSDL:output message="tns:HasUserPrivilegeResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetUserPrivileges">
<documentation>Returns a list of privileges that the specified user has.</documentation>
<WSDL:input message="tns:GetUserPrivileges" />
<WSDL:output message="tns:GetUserPrivilegesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="IsUserValid">
<documentation>Determine if the specified user is valid.</documentation>
<WSDL:input message="tns:IsUserValid" />
<WSDL:output message="tns:IsUserValidResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetUsers">
<documentation>Returns user information one or more users. If no user is specified, then information about the current user is returned.</documentation>
<WSDL:input message="tns:GetUsers" />
<WSDL:output message="tns:GetUsersResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateUsers">
<documentation>Creates one or more users and optionally updates existing user(s) if they already exist.</documentation>
<WSDL:input message="tns:CreateUsers" />
<WSDL:output message="tns:CreateUsersResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="UpdateUsers">
<documentation>Updates one or more users. Can delete users by setting isDeleted.</documentation>
<WSDL:input message="tns:UpdateUsers" />
<WSDL:output message="tns:UpdateUsersResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetGroups">
<documentation>Returns group information for one or more groups.</documentation>
<WSDL:input message="tns:GetGroups" />
<WSDL:output message="tns:GetGroupsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateGroups">
<documentation>Creates one or more groups and optionally updates existing groups(s) if they already exist.</documentation>
<WSDL:input message="tns:CreateGroups" />
<WSDL:output message="tns:CreateGroupsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="UpdateGroups">
<documentation>Updates one or more groups. Can delete groups by setting isDeleted.</documentation>
<WSDL:input message="tns:UpdateGroups" />
<WSDL:output message="tns:UpdateGroupsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="SetUserPrivileges">
<documentation>Grants or revokes privileges for particular user.</documentation>
<WSDL:input message="tns:SetUserPrivileges" />
<WSDL:output message="tns:SetUserPrivilegesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="SetGroupPrivileges">
<documentation>Grants or revokes privileges for particular group.</documentation>
<WSDL:input message="tns:SetGroupPrivileges" />
<WSDL:output message="tns:SetGroupPrivilegesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="HasGroupPrivilege">
<documentation>Checks for the specified group privilege by name.</documentation>
<WSDL:input message="tns:HasGroupPrivilege" />
<WSDL:output message="tns:HasGroupPrivilegeResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetGroupPrivileges">
<documentation>Returns a list of privileges that the specified group has.</documentation>
<WSDL:input message="tns:GetGroupPrivileges" />
<WSDL:output message="tns:GetGroupPrivilegesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="HasGroupRole">
<documentation>Checks whether specified group is assigned to a role.</documentation>
<WSDL:input message="tns:HasGroupRole" />
<WSDL:output message="tns:HasGroupRoleResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetGroupRoles">
<documentation>Returns a list of roles assigned to particular group.</documentation>
<WSDL:input message="tns:GetGroupRoles" />
<WSDL:output message="tns:GetGroupRolesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="HasUserRole">
<documentation>Checks whether specified user is assigned to a role.</documentation>
<WSDL:input message="tns:HasUserRole" />
<WSDL:output message="tns:HasUserRoleResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetUserRoles">
<documentation>Returns a list of roles assigned to particular user.</documentation>
<WSDL:input message="tns:GetUserRoles" />
<WSDL:output message="tns:GetUserRolesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="SetGroupRoles">
<documentation>Grants of revokes set of project roles to particular group.</documentation>
<WSDL:input message="tns:SetGroupRoles" />
<WSDL:output message="tns:SetGroupRolesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="SetUserRoles">
<documentation>Grants of revokes set of project roles to particular user.</documentation>
<WSDL:input message="tns:SetUserRoles" />
<WSDL:output message="tns:SetUserRolesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetPrivilegeTypes">
<documentation>Returns set of available privilege types ( TS_PRIVTYPE_USER* for kind == ae__PrivilegeKind::USER_KIND, TS_PRIVTYPE_ADM* for kind == ae__PrivilegeKind::ADMIN_KIND )</documentation>
<WSDL:input message="tns:GetPrivilegeTypes" />
<WSDL:output message="tns:GetPrivilegeTypesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetTypePrivileges">
<documentation>Returns set of available privileges of particular type.</documentation>
<WSDL:input message="tns:GetTypePrivileges" />
<WSDL:output message="tns:GetTypePrivilegesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetRoleUsers">
<documentation>Returns list of users granted particular project role.</documentation>
<WSDL:input message="tns:GetRoleUsers" />
<WSDL:output message="tns:GetRoleUsersResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetRoleGroups">
<documentation>Returns list of groups granted particular project role.</documentation>
<WSDL:input message="tns:GetRoleGroups" />
<WSDL:output message="tns:GetRoleGroupsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
</WSDL:portType>
<WSDL:binding name="sbmadminservices72" type="tns:sbmadminservices72PortType">
<SOAP:binding transport="http://schemas.xmlsoap.org/soap/http" />
<WSDL:operation name="Logout">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetVersion">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateProject">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="DeleteProcessApp">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="HasUserPrivilege">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetUserPrivileges">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="IsUserValid">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetUsers">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateUsers">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="UpdateUsers">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetGroups">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateGroups">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="UpdateGroups">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="SetUserPrivileges">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="SetGroupPrivileges">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="HasGroupPrivilege">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetGroupPrivileges">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="HasGroupRole">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetGroupRoles">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="HasUserRole">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetUserRoles">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="SetGroupRoles">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="SetUserRoles">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetPrivilegeTypes">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetTypePrivileges">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetRoleUsers">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetRoleGroups">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
</WSDL:binding>
<WSDL:service name="sbmadminservices72">
<documentation>SBM Administrative Web Services Version 7.2</documentation>
<WSDL:port name="sbmadminservices72" binding="tns:sbmadminservices72">
<SOAP:address location="http://localhost:80/gsoap/gsoap_ssl.dll?sbmadminservices72" />
</WSDL:port>
</WSDL:service>
</WSDL:definitions>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/src/net/brutex/svn/SVNLookExecutor.java
28,7 → 28,7
 
import org.apache.log4j.Logger;
 
/** Executes the svnlook utility
/* Executes the svnlook utility
*
* @author Brian Rosenberger bru(at)brutex.de
* @since 0.1
/SVN-ALFEventEmitter/trunk/src/net/brutex/svn/SVNCommitInfo.java
47,7 → 47,7
private final String author;
/** The commit message */
private final String logmessage;
private String logmessage;
/** The date. */
private final Date date;
198,8 → 198,9
* Parses the issues.
*
* @param patterns the patterns
* @param isRemoveIssues
*/
public void parseIssues(String[] patterns) {
public void parseIssues(String[] patterns, boolean isRemoveIssues) {
issues.clear(); //reset
int count = 0;
for(String p : patterns) {
211,6 → 212,11
logger.debug("Found issue '" + matcher.group() + "' in the logmessage.");
count++;
}
if(isRemoveIssues) {
logmessage = matcher.replaceAll("");
logger.debug("Removing all matched issues from commit message");
}
}
logger.debug("Found '" + count + "' issues in the logmessage.");
}
/SVN-ALFEventEmitter/trunk/src/net/brutex/emitter/EventManagerContext.java
0,0 → 1,91
/*
* Copyright 2014 Brian Rosenberger (Brutex Network)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.brutex.emitter;
 
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
 
import org.apache.log4j.Logger;
 
/**
* The EventManagerContext class represents the eventmanager endpoint and authentication credentials.
*
* @author Brian Rosenberger, bru(at)brutex.de
* @since 0.1
*/
public class EventManagerContext {
private Logger logger = Logger.getLogger(EventManagerContext.class);
private final URL url;
private final String user;
private final byte[] pass;
private static final String CHARSET_UTF8 = "UTF-8";
/**
* Create a new Eventmanager context.
*
* @param url URL for the SBM ALF Eventmanager
* @param username ALFSecurity user name
* @param password ALFSecurity password
* @throws MalformedURLException
*/
public EventManagerContext(String url, String username, String password) throws MalformedURLException {
//Verify URL
try {
this.url = new URL(url);
} catch (MalformedURLException e) {
logger.error(String.format("Could not parse '%s' as a valid URL. %s", url, e.getMessage()));
throw e;
}
//Verify username
this.user = username;
if(this.user==null) {
final String s = "Username for ALF Eventmanager cannot be null.";
logger.error(s);
throw new IllegalArgumentException(s);
}
//Verify password
try {
this.pass = password.getBytes(CHARSET_UTF8);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
throw new IllegalArgumentException(e.getMessage());
}
if(this.pass==null) {
final String s = "Password for ALF Eventmanager cannot be null.";
logger.error(s);
throw new IllegalArgumentException(s);
}
}
 
public URL getUrl() {
return url;
}
public String getUser() {
return user;
}
public byte[] getPass() {
return pass;
}
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/src/net/brutex/emitter/SimpleHttpEvent.java
74,6 → 74,7
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpResponse r = httpclient.execute(post);
logger.debug("Sending event to ALF event manager");
if(! isDropResponse) {
HttpEntity e = r.getEntity();
StringBuilder sb = new StringBuilder();
/SVN-ALFEventEmitter/trunk/src/net/brutex/emitter/ALFEmitter.java
20,13 → 20,42
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.StringWriter;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
 
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Marshaller;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
 
 
 
 
 
 
 
 
 
 
 
 
import javax.xml.ws.BindingProvider;
 
import net.brutex.emitter.util.EmitterUtil;
import net.brutex.sbm.sbmappservices72.AEWebservicesFaultFault;
import net.brutex.sbm.sbmappservices72.Sbmappservices72;
import net.brutex.sbm.sbmappservices72.Sbmappservices72PortType;
import net.brutex.sbm.sbmappservices72.api.Auth;
import net.brutex.sbm.sbmappservices72.api.MultipleResponseItemOptions;
import net.brutex.sbm.sbmappservices72.api.ObjectFactory;
import net.brutex.sbm.sbmappservices72.api.SectionsOption;
import net.brutex.sbm.sbmappservices72.api.TTItemList;
import net.brutex.sbm.sbmappservices72.api.TableIdentifier;
import net.brutex.svn.SVNCommitInfo;
import net.brutex.svn.SVNLookExecutor;
 
50,6 → 79,11
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.message.Message;
import org.apache.http.client.ClientProtocolException;
import org.apache.log4j.Logger;
import org.jaxen.JaxenException;
63,13 → 97,75
*/
public class ALFEmitter {
private static final String version = "0.1";
static Logger logger = Logger.getRootLogger();
public static final String VERSION = "0.1";
private static Logger logger = Logger.getRootLogger();
//
// Keys to read from the configuration file.
//
private static final String OPTION_SVNLOOK = "svnlook";
private static final String OPTION_ISSUEPATTERN = "issuepattern";
private static final String OPTION_EVENTTEMPLATE = "eventtemplate";
private static final String OPTION_EVENTNAMESPACE = "eventnamespace";
private static final String OPTION_EVENTMANAGER_URL = "eventmanager";
private static final String OPTION_EVENTMANAGER_USER = "eventmanager.user";
private static final String OPTION_EVENTMANAGER_PASSWORD = "eventmanager.password";
private static final String OPTION_SBM_ENDPOINT = "sbmappservices72";
private static final String OPTION_SBM_USER = "sbmuser";
private static final String OPTION_SBM_PASSWORD = "sbmpassword";
private static final String OPTION_SBM_TABLE = "querytable";
private static final String OPTION_SBM_QUERY = "query";
 
private static final String OPTION_MARKER_LOGMESSAGE = "marker.logmessage";
private static final String OPTION_MARKER_AUTHOR = "marker.author";
private static final String OPTION_MARKER_REVISION = "marker.revision";
private static final String OPTION_MARKER_ADDEDFILES = "marker.addedfiles";
private static final String OPTION_MARKER_DELETEDFILES = "marker.deletedfiles";
private static final String OPTION_MARKER_CHANGEDFILES = "marker.changedfiles";
private static final String OPTION_MARKER_ISSUES = "marker.issues";
private static final String OPTION_MARKER_INTERNALISSUES = "marker.internalissues";
private static final String OPTION_REMOVE_ISSUES_FROM_COMMIT = "removeissuesfromcommit";
private static final String OPTION_IS_SOAPENABLED = "isSoapEnabled";
private static final String OPTION_IS_DROPENABLED = "isDropResponse";
private static final String OPTION_IS_FORCEFAILENABLED = "forcefail";
private static final String OPTION_IS_VERIFICATIONENABLED = "isWithVerification";
private static final String OPTION_IS_WSTRACE = "trace";
private static final String OPTION_IS_XMLPROCESSINGENABLED = "isXmlProcessingEnabled";
 
//
// Command line parameters
//
private static final String PARAM_REPOS = "repos";
private static final String PARAM_TXN = "txn";
private static final String PARAM_REV = "rev";
private static final String PARAM_CONFIG = "conf";
//
// Member variables
//
private final String repos;
private final String txn;
private final String rev;
private SVNCommitInfo info;
private OMElement template = null;
private Configuration config;
private String nss = null;
private final long startTime;
//Member for SBM endpoint configuration
private final String endpoint;
private final String sbm_user;
private final String sbm_pass;
private final String querytable;
private final String query;
 
private final List<String> internalissues = new ArrayList<String>();
/**
* The main method.
*
78,7 → 174,7
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
CommandLineParser parser = new BasicParser();
CommandLine cmd = null;;
CommandLine cmd = null;
try {
cmd = parser.parse( getOptions(), args);
} catch (ParseException e1) {
86,27 → 182,92
printHelp();
System.exit(1);
}
ALFEmitter emitter = new ALFEmitter(cmd, startTime);
try {
ALFEmitter emitter = new ALFEmitter(cmd, startTime);
} catch (ConfigurationException e) {
System.exit(1);
}
long endTime = System.currentTimeMillis();
logger.debug("Total execution took '"+(endTime-startTime)+"' milliseconds.");
System.exit(0);
}
private final String repos;
private final String txn;
private final String rev;
private SVNCommitInfo info;
private OMElement template;
private Configuration config;
private final String nss;
private final long startTime;
/**
* Read a configuration parameter from the config file
* Creates log messages according to parameters.
*
* @param key property name
* @param defaultValue default value or null
* @param isRequired wether or not this is a required option
* @param logmessage optional log message (or null)
* @return property value
* @throws ConfigurationException
*/
private Object readConfProperty(String key, Object defaultValue, boolean isRequired, PropertyType type, String logmessage) throws ConfigurationException {
Object value = null;
switch (type) {
case BOOLEAN:
value = config.getBoolean(key, (Boolean) defaultValue);
break;
case STRINGARRAY:
value = config.getStringArray(key);
defaultValue = null;
break;
 
default:
value = config.getString(key, (String) defaultValue);
break;
}
if(isRequired && value == null) {
//required property
if(defaultValue == null) {
//No value, no default
String s = String.format("Could not load a value for the key '%s' from the configuration file. This is a required property without a default.", key);
logger.error(s);
throw new ConfigurationException(s);
}
if(defaultValue!=null) {
//No value, but default
logger.debug(String.format("Using property value '%s' for key '%s'. This is the default value. The property is required.", value, key));
}
}
if( (! isRequired) && value == null) {
//not required
if(value == null && defaultValue == null) {
//No value, no default
String s = String.format("Could not load a value for the key '%s' from the configuration file. This property has no default, but it is optional anyway.", key);
logger.warn(s);
}
if(value == null && defaultValue!=null) {
//No value, but default
logger.debug(String.format("Using property value '%s' for key '%s'. This is the default value. The property is optional.", value, key));
}
}
if(value!=null) logger.debug(String.format("Using property value '%s' for key '%s'.", value, key));
if(logmessage!=null) logger.info(logmessage);
return value;
}
private String readConfPropertyAsString(String key, String defaultValue, boolean isRequired, String logmessage) throws ConfigurationException {
return (String) readConfProperty(key, defaultValue, isRequired, PropertyType.STRING, logmessage);
}
private String[] readConfPropertyAsStringArray(String key, boolean isRequired, String logmessage) throws ConfigurationException {
return (String[]) readConfProperty(key, null, isRequired, PropertyType.STRINGARRAY, logmessage);
}
private boolean readConfPropertyAsBoolean(String key, boolean defaultValue, boolean isRequired, String logmessage) throws ConfigurationException {
Boolean b = (Boolean) readConfProperty(key, defaultValue, isRequired, PropertyType.BOOLEAN, logmessage);
return b.booleanValue();
}
private ALFEmitter(CommandLine cmd, long startTime) {
private ALFEmitter(CommandLine cmd, long startTime) throws ConfigurationException {
this.startTime = startTime;
repos = cmd.getOptionValue(PARAM_REPOS);
txn = cmd.getOptionValue(PARAM_TXN);
rev = cmd.getOptionValue(PARAM_REV);
String config_file = cmd.getOptionValue(PARAM_CONFIG, "emitter.properties");
EmitterUtil.verifyFile(config_file, false, false);
 
logger.debug(String.format("Using REPOS='%s' and TXN='%s'.", repos, txn));
121,99 → 282,165
/*
* Load Properties from Configuration file
*/
//it might be interesting to look into SVNKit
//for a pure Java implementation in future
final String svnlook = config.getString("svnlook");
logger.debug("Using svnlook at '" + svnlook +"'.");
final String svnlook = readConfPropertyAsString(OPTION_SVNLOOK, null, true, null);
EmitterUtil.verifyFile(svnlook, false, true);
// Issue Id RegEx to parse commit message
final String[] issuepatterns = readConfPropertyAsStringArray(OPTION_ISSUEPATTERN, false, null);
StringBuilder sb = new StringBuilder(); for(String s : issuepatterns) sb.append(s);
logger.debug(String.format("Using issue id patterns: '%s'.", sb.toString()));
// Flags to indicate what should be done
final boolean isSoapEnabled = readConfPropertyAsBoolean(OPTION_IS_SOAPENABLED, true, true, null);
final boolean isXmlProcessingEnabled = readConfPropertyAsBoolean(OPTION_IS_XMLPROCESSINGENABLED, true, true, null);
final boolean isWithVerification= readConfPropertyAsBoolean(OPTION_IS_VERIFICATIONENABLED, false, true, null);
final boolean isRemoveIssues = readConfPropertyAsBoolean(OPTION_REMOVE_ISSUES_FROM_COMMIT, false, true, "");
/*
* SVNLook phase
* Use svnlook to obtain information from SVN
*/
SVNLookExecutor exec = new SVNLookExecutor(new File(svnlook), repos);
if(cmd.hasOption(PARAM_TXN)) exec.setTXN(txn);
if(cmd.hasOption(PARAM_REV)) exec.setRev(rev);
info = exec.getCommitInfo();
info.parseIssues(issuepatterns, isRemoveIssues);
logger.debug("SVNCommitInfo author: "+ info.getAuthor());
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String datestring = f.format(info.getDate());
datestring= datestring.substring(0, 26) + ":" + datestring.substring(26); //hack into ISO 8601 format
logger.debug("SVNCommitInfo date: "+ datestring);
logger.debug("SVNCommitInfo log message: "+ info.getLogmessage());
logger.debug("SVNCommitInfo file list: "+ info.getChangeFileListAsString());
/*
* Verification phase
*/
boolean isTrace = false;
if(isWithVerification) {
sbm_user = readConfPropertyAsString(OPTION_SBM_USER, null, true, null);
sbm_pass = readConfPropertyAsString(OPTION_SBM_PASSWORD, null, false, null);
endpoint = readConfPropertyAsString(OPTION_SBM_ENDPOINT, "http://localhost/gsoap/gsoap_ssl.dll?sbmappservices72", true, null);
querytable = readConfPropertyAsString(OPTION_SBM_TABLE, null, true, null);
query = readConfPropertyAsString(OPTION_SBM_QUERY, null, false, null);
isTrace = readConfPropertyAsBoolean(OPTION_IS_WSTRACE, false, true, null);
logger.debug(String.format("Starting verification for '%s' issues in the list.", info.getIssues().size()));
boolean isOK = verify(info.getIssues(), isTrace);
if(! isOK ) {
logger.error("Verification of issue failed. No matching issue was found.");
System.exit(1);
}
} else {
sbm_user = null; sbm_pass=null; endpoint=null; querytable=null; query=null;
}
 
/*
* XML processing phase
*/
if(isXmlProcessingEnabled) {
}
/*
* ALF Event Send phase
*/
String eventmanager = null;
if(isSoapEnabled) {
eventmanager = readConfPropertyAsString(OPTION_EVENTMANAGER_URL, null, true, null);
}
 
final String[] issuepatterns = config.getStringArray("issuepattern");
StringBuilder sb = new StringBuilder(); for(String s : issuepatterns) sb.append(s);
logger.debug(String.format("Using issue id patterns: '%s'.", sb.toString()));
/**
* Event XML Erzeugen
*/
try {
String resultxml=null;
if(isXmlProcessingEnabled) {
processXml();
addALFSecurity();
addEventHeader();
// Serialize xml message to String
StringWriter out = new StringWriter();
template.getParent().serialize(out);
out.flush();
resultxml = out.getBuffer().toString();
logger.debug("ALFEvent result:\n"+resultxml);
final String eventtemplate = config.getString("eventtemplate");
logger.debug("Using alf event template at '" + eventtemplate +"'.");
} else {
logger.debug("Xml processing is deactivated.");
}
nss = config.getString("eventnamespace", "http://www.eclipse.org/alf/schema/EventBase/1");
logger.debug("Using alf event namespace '" + nss +"'.");
final String marker_logmessage = config.getString("marker.logmessage", "@@logmessage@@");
logger.debug("Using comment marker '<!-- " + marker_logmessage +" -->' in event template for logmessage.");
final String marker_author = config.getString("marker.author", "@@author@@");
logger.debug("Using comment marker '<!-- " + marker_author +" -->' with event template for author.");
final String marker_addedfiles = config.getString("marker.addedfiles", "@@addedfiles@@");
logger.debug("Using comment marker '<!-- " + marker_addedfiles +" -->' with event template for files added during commit.");
final String marker_deletedfiles = config.getString("marker.deletedfiles", "@@deletedfiles@@");
logger.debug("Using comment marker '<!-- " + marker_deletedfiles +" -->' with event template for files deleted during commit.");
final String marker_changedfiles = config.getString("marker.changedfiles", "@@changedfiles@@");
logger.debug("Using comment marker '<!-- " + marker_changedfiles +" -->' with event template for files changed during commit.");
final String marker_fileselementname = config.getString("marker.fileselementname", "file");
logger.debug("Using element name '" +marker_fileselementname +"' to wrap files list.");
final String marker_issues = config.getString("marker.issues", "@@issues@@");
logger.debug("Using comment marker '<!-- " + marker_issues +" -->' with event template for issue list.");
final String marker_issueselementname = config.getString("marker.issueselementname", "issue");
logger.debug("Using element name '" +marker_issueselementname +"' to wrap issue list.");
final String eventmanager = config.getString("eventmanager");
logger.debug("Using eventmanager at '" +eventmanager +"'.");
final String eventmanager_user = config.getString("eventmanager.user");
final String eventmanager_pass = config.getString("eventmanager.password");
logger.debug("Using username '" +eventmanager_user +"' and a password.");
final boolean isSoapEnabled = config.getBoolean("isSoapEnabled", true);
logger.debug("Sending soap message is enabled='" +isSoapEnabled +"'.");
final boolean isDropResponse = config.getBoolean("isDropResponse", true);
logger.debug("Receiving the soap response is enabled='" +isDropResponse +"'.");
try {
template = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(new File(eventtemplate)))
.getDocument().getOMDocumentElement();
} catch (FileNotFoundException e1) {
logger.error(String.format("Could not load XML event template from file '%s'.", eventtemplate), e1);
if(isSoapEnabled && isXmlProcessingEnabled) {
final boolean isDropResponse = readConfPropertyAsBoolean(OPTION_IS_DROPENABLED, true, true, null);
SimpleHttpEvent sender = new SimpleHttpEvent(eventmanager, resultxml);
sender.sendSoap(isDropResponse);
logger.debug(String.format("Sending/ receiving the soap message took '%s' milliseconds.", sender.getDuration()));
} else {
logger.warn("Sending soap message and/ or xml processing is deactivated.");
}
} catch (FileNotFoundException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (ClientProtocolException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (IOException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (XMLStreamException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (JaxenException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} finally {
logger.debug("Total execution took '"+(System.currentTimeMillis()-startTime)+"' milliseconds.");
String forcefail = config.getString(OPTION_IS_FORCEFAILENABLED, "");
if(forcefail.length()>0) {
logger.warn("Force fail is active. All commits will be blocked.");
System.exit(1);
}
}
/*
*
*/
SVNLookExecutor exec = new SVNLookExecutor(new File(svnlook), repos);
if(cmd.hasOption(PARAM_TXN)) exec.setTXN(txn);
if(cmd.hasOption(PARAM_REV)) exec.setRev(rev);
info = exec.getCommitInfo();
info.parseIssues(issuepatterns);
logger.debug("SVNCommitInfo author: "+ info.getAuthor());
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String datestring = f.format(info.getDate());
datestring= datestring.substring(0, 26) + ":" + datestring.substring(26); //hack into ISO 8601 format
logger.debug("SVNCommitInfo date: "+ datestring);
logger.debug("SVNCommitInfo log message: "+ info.getLogmessage());
logger.debug("SVNCommitInfo file list: "+ info.getChangeFileListAsString());
/**
* Event XML Erzeugen
*/
try {
addElement( marker_logmessage, info.getLogmessage(), true);
addElement(marker_author, info.getAuthor(), false);
addElement("@@timestamp@@", datestring, false);
addElements(marker_changedfiles, info.getChangedFiles(), marker_fileselementname);
addElements(marker_deletedfiles, info.getDeletedFiles(), marker_fileselementname);
addElements(marker_addedfiles, info.getAddedFiles(), marker_fileselementname);
addElements(marker_issues, info.getIssues(), marker_issueselementname);
}
private void addEventHeader() throws JaxenException {
AXIOMXPath path = new AXIOMXPath("//bru1:Base/bru1:EventId");
path.addNamespace("bru1", nss);
OMElement n = (OMElement) path.selectSingleNode(template);
if(n==null) {
logger.error("<Base> element in message is incomplete. <EventId> is missing.");
} else {
n.addChild( n.getOMFactory().createOMText("1"));
}
path = new AXIOMXPath("//bru1:Base/bru1:ObjectId");
path.addNamespace("bru1", nss);
n = (OMElement) path.selectSingleNode(template);
if(n==null) {
logger.error("<Base> element in message is incomplete. <ObjectId> is missing.");
} else {
n.addChild( n.getOMFactory().createOMText(info.getTxn() ));
}
}
private void addALFSecurity() throws ConfigurationException, JaxenException {
final String eventmanager_user = readConfPropertyAsString(OPTION_EVENTMANAGER_USER, null, false, null);
final String eventmanager_pass = readConfPropertyAsString(OPTION_EVENTMANAGER_PASSWORD, null, false, null);
AXIOMXPath path = new AXIOMXPath("//bru1:User");
OMNamespace ns = template.findNamespace(nss, null);
path.addNamespace("bru1", nss);
246,69 → 473,106
sec.addChild(token);
n.addChild(sec);
}
path = new AXIOMXPath("//bru1:Base/bru1:EventId");
path.addNamespace("bru1", nss);
n = (OMElement) path.selectSingleNode(template);
if(n==null) {
logger.error("<Base> element in message is incomplete. <EventId> is missing.");
} else {
n.addChild( n.getOMFactory().createOMText(UUID.randomUUID().toString() ));
}
private void processXml() throws ConfigurationException, JaxenException {
// read additional configuration
final String eventtemplate = readConfPropertyAsString(OPTION_EVENTTEMPLATE, null, true, null);
EmitterUtil.verifyFile(eventtemplate, false, false);
try {
template = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(new File(eventtemplate)))
.getDocument().getOMDocumentElement();
} catch (FileNotFoundException e1) {
logger.error(String.format("Could not load XML event template from file '%s'.", eventtemplate), e1);
System.exit(1);
}
nss = readConfPropertyAsString(OPTION_EVENTNAMESPACE, "http://www.eclipse.org/alf/schema/EventBase/1", true, null);
final String marker_logmessage = readConfPropertyAsString(OPTION_MARKER_LOGMESSAGE, "@@logmessage@@", true, null);
final String marker_author = readConfPropertyAsString(OPTION_MARKER_AUTHOR, "@@author@@", true, null);
final String marker_revision = readConfPropertyAsString(OPTION_MARKER_REVISION, "@@revision@@", true, null);
final String marker_addedfiles = readConfPropertyAsString(OPTION_MARKER_ADDEDFILES, "@@addedfiles@@", true, null);
final String marker_deletedfiles = readConfPropertyAsString(OPTION_MARKER_DELETEDFILES, "@@deletedfiles@@", true, null);
final String marker_changedfiles = readConfPropertyAsString(OPTION_MARKER_CHANGEDFILES, "@@changedfiles@@", true, null);
final String marker_fileselementname = readConfPropertyAsString("marker.fileselementname", "file", true, null);
final String marker_issues = readConfPropertyAsString(OPTION_MARKER_ISSUES, "@@issues@@", true, null);
final String marker_issueselementname = readConfPropertyAsString("marker.issueselementname", "issue", true, null);
final String marker_internalissues = readConfPropertyAsString(OPTION_MARKER_INTERNALISSUES, "@@internalissues@@", true, null);
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String datestring = f.format(info.getDate());
datestring= datestring.substring(0, 26) + ":" + datestring.substring(26); //hack into ISO 8601 format
path = new AXIOMXPath("//bru1:Base/bru1:ObjectId");
path.addNamespace("bru1", nss);
n = (OMElement) path.selectSingleNode(template);
if(n==null) {
logger.error("<Base> element in message is incomplete. <ObjectId> is missing.");
} else {
n.addChild( n.getOMFactory().createOMText(info.getTxn() ));
}
 
StringWriter out = new StringWriter();
template.getParent().serialize(out);
out.flush();
// add content from SVNCommitInfo object where
// XML commit markers are
addElement( marker_logmessage, info.getLogmessage(), true);
addElement(marker_author, info.getAuthor(), false);
addElement(marker_revision, info.getRev(), false);
addElement("@@timestamp@@", datestring, false);
addElements(marker_changedfiles, info.getChangedFiles(), marker_fileselementname);
addElements(marker_deletedfiles, info.getDeletedFiles(), marker_fileselementname);
addElements(marker_addedfiles, info.getAddedFiles(), marker_fileselementname);
addElements(marker_issues, info.getIssues(), marker_issueselementname);
addElements(marker_internalissues, internalissues, marker_issueselementname);
String resultxml = out.getBuffer().toString();
logger.debug("ALFEvent result:\n"+resultxml);
}
private boolean verify(List<String> issues, boolean isTrace) {
Sbmappservices72 ss = new Sbmappservices72(ClassLoader.getSystemResource("sbmappservices72.wsdl") );
Sbmappservices72PortType port = ss.getSbmappservices72();
if(isSoapEnabled) {
SimpleHttpEvent sender = new SimpleHttpEvent(eventmanager, resultxml);
sender.sendSoap(isDropResponse);
logger.debug(String.format("Sending/ receiving the soap message took '%s' milliseconds.", sender.getDuration()));
} else {
logger.warn("Sending soap message is deactivated.");
Client client = ClientProxy.getClient(port);
if(isTrace) {
client.getInInterceptors().add(new LoggingInInterceptor());
client.getOutInterceptors().add(new LoggingOutInterceptor());
}
BindingProvider bindingProvider = (BindingProvider) port;
bindingProvider.getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpoint);
ObjectFactory fac = new ObjectFactory();
Auth auth = fac.createAuth();
auth.setUserId(fac.createAuthUserId(sbm_user));
auth.setPassword(fac.createAuthPassword(sbm_pass));
} catch (FileNotFoundException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (ClientProtocolException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (IOException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (XMLStreamException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} catch (JaxenException e) {
logger.error(e.getMessage(), e);
System.exit(1);
} finally {
logger.debug("Total execution took '"+(System.currentTimeMillis()-startTime)+"' milliseconds.");
String forcefail = config.getString("forcefail", "");
if(forcefail.length()>0) {
logger.warn("Force fail is active. All commits will be blocked.");
System.exit(1);
TableIdentifier table = fac.createTableIdentifier();
table.setDbName(fac.createTableIdentifierDbName(querytable));
MultipleResponseItemOptions options = fac.createMultipleResponseItemOptions();
options.setSections(SectionsOption.SECTIONS_NONE);
for(String issue : issues) {
issue = issue.replaceAll("[^0-9]", "");
String queryWhereClause = "TS_ISSUEID = '"+issue+"'";
if(query!=null && query.length()>0) queryWhereClause = queryWhereClause + " And " + query;
logger.debug(String.format("Using query against table '%s'. Query where clause: '%s'", querytable, queryWhereClause ));
try {
TTItemList items = port.getItemsByQuery(auth, table, queryWhereClause, "", null, BigInteger.valueOf(1), options);
//Marshaller m = JAXBContext.newInstance(TTItemList.class).createMarshaller();
//m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
//m.marshal( new JAXBElement<TTItemList>(new QName("uri","local"), TTItemList.class, items), System.err);
logger.debug(String.format("Got Response from getItemsByQuery"));
if(items!=null) {
logger.debug(String.format("Verification query matched '%s' item(s) for issue '%s.'",items.getTotalCount(), issue));
}
if(items.getTotalCount().intValue()<=0) {
return false;
} else {
internalissues.add(items.getItem().get(0).getId().getValue().getTableIdItemId().getValue());
}
} catch (AEWebservicesFaultFault e) {
logger.debug("Web service fault: " + e.getFaultInfo());
} catch (Exception e) {
logger.debug("Unknown Exception", e);
}
}
}
return true;
}
 
private void addElement(String pattern, String newCdata, boolean wrapCDATA) throws JaxenException {
OMComment comment = findComment(pattern);
if(comment!=null) {
348,43 → 612,6
logger.warn("Comment '"+pattern+"' was not found in the XML template.");
return null;
}
/*
private static OMComment findComment(OMElement element, String pattern) {
logger.trace( String.format("Searching for comment pattern '%s' in element with name '%s'.", pattern, element.getLocalName()));
Iterator iter = element.getChildren();
 
while(iter.hasNext()) {
Object o = iter.next();
if(o instanceof OMNode) {
OMNode node = ((OMNode)o);
switch (node.getType() ) {
case OMNode.COMMENT_NODE:
OMComment comment = ((OMComment)node);
String value = comment.getValue().trim();
if(value.equals(pattern)) {
logger.debug("Found comment '" + pattern + "' in event template.");
return comment;
}
break;
 
case OMNode.ELEMENT_NODE:
//traverse
OMComment result = findComment( (OMElement)node, pattern);
if(result!=null) return result;
break;
default:
break;
}
}
}
//logger.info("Comment '" + pattern + "' was not found in event template.");
return null;
}
*/
@SuppressWarnings("static-access")
private static Options getOptions() {
422,10 → 649,16
private static void printHelp() {
// automatically generate the help statement
HelpFormatter formatter = new HelpFormatter();
String header = "\nSVN-ALFEventEmitter " + version +", a SVN hook implemented in Java to emit Eclipse ALFEvents on commit.\n\n";
String header = "\nSVN-ALFEventEmitter " + VERSION +", a SVN hook implemented in Java to emit Eclipse ALFEvents on commit.\n\n";
String footer = "Please send bug reports to bru@brutex.de.\n(c)2013 Brian Rosenberger";
formatter.printHelp("java -jar SVN-ALFEventEmitter", header, getOptions(), footer, true);
}
private enum PropertyType {
STRING(), STRINGARRAY(), BOOLEAN();
}
}
/SVN-ALFEventEmitter/trunk/src/net/brutex/emitter/util/EmitterUtil.java
0,0 → 1,60
/*
* Copyright 2014 Brian Rosenberger (Brutex Network)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.brutex.emitter.util;
 
import java.io.File;
 
import org.apache.log4j.Logger;
 
/**
* The Class EmitterUtil.
*
* @author Brian Rosenberger, bru(at)brutex.de
*/
public final class EmitterUtil {
 
private static Logger logger = Logger.getLogger(EmitterUtil.class);
 
/**
* Check if the file exists and is readable.
*
* @param file The file to check
* @param isWritable also check if file is writable
* @param isExecutable also check if file is executable
* @return
*/
public static boolean verifyFile(String file, boolean isWritable, boolean isExecutable) {
logger.debug(String.format("Verifying file '%s'.", file));
File f = new File(file);
String fn = f.getAbsolutePath();
if(f.exists() && f.isFile()) {
if(isWritable && !f.canWrite()) {
logger.error(String.format("Cannot write to file '%s'.", fn));
return false;
}
if(isExecutable && !f.canExecute()) {
logger.error(String.format("Cannot execute file '%s'.", fn));
return false;
}
return true;
}
logger.error(String.format("Cannot read file '%s'.", fn));
return false;
}
 
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/src/sbmappservices72.wsdl
0,0 → 1,2139
<?xml version="1.0" encoding="utf-8"?>
<WSDL:definitions xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:diag="urn:SerenaDiagnostics" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://localhost:80/gsoap/sbmappservices72.wsdl" xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ae="urn:sbmappservices72" xmlns="http://schemas.xmlsoap.org/wsdl/" name="sbmappservices72" targetNamespace="http://localhost:80/gsoap/sbmappservices72.wsdl" xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/">
<WSDL:types>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="urn:SerenaDiagnostics">
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
<xsd:import namespace="urn:sbmappservices72" />
<xsd:complexType name="SerenaDiagnostics">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" ref="diag:XId" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="XId" type="xsd:string" />
<xsd:element name="SerenaDiagnostics" type="diag:SerenaDiagnostics" />
</xsd:schema>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:sbmappservices72">
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" />
<xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />
<xsd:import namespace="urn:SerenaDiagnostics" />
<xsd:element name="AEWebservicesFault" type="xsd:string" />
<xsd:simpleType name="PrivilegeKind">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="USER-KIND" />
<xsd:enumeration value="ADMIN-KIND" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="GrantState">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="INHERITED" />
<xsd:enumeration value="REVOKED" />
<xsd:enumeration value="GRANTED" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MultipleOption">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CONTINUE-ON-FAILURE" />
<xsd:enumeration value="STOP-ON-FAILURE" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SectionsOption">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SECTIONS-ALL" />
<xsd:enumeration value="SECTIONS-NONE" />
<xsd:enumeration value="SECTIONS-SPECIFIED" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="StatusEnum">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="IS-WARNING" />
<xsd:enumeration value="IS-INFORMATION" />
<xsd:enumeration value="IS-ERROR" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Attachment-Access-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ATTACHACCESS-DEFAULT" />
<xsd:enumeration value="ATTACHACCESS-RESTRICTED" />
<xsd:enumeration value="ATTACHACCESS-UNRESTRICTED" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DatePreference">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DATE-FORMAT-FROM-LOCALE" />
<xsd:enumeration value="DATE-FORMAT-MM-DD-YYYY" />
<xsd:enumeration value="DATE-FORMAT-DD-MM-YYYY" />
<xsd:enumeration value="DATE-FORMAT-DD-MM-YYYY.S" />
<xsd:enumeration value="DATE-FORMAT-YYYY-MM-DD" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TimePreference">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TIME-FORMAT-12HOUR" />
<xsd:enumeration value="TIME-FORMAT-24HOUR" />
<xsd:enumeration value="TIME-FORMAT-USE-GMT-OFFSET" />
<xsd:enumeration value="TIME-FORMAT-HONOR-DAYLIGHT" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AccessType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ACCESS-NONE" />
<xsd:enumeration value="ACCESS-USER" />
<xsd:enumeration value="ACCESS-OCCASIONAL" />
<xsd:enumeration value="ACCESS-EXTERNAL" />
<xsd:enumeration value="ACCESS-ADMIN" />
<xsd:enumeration value="ACCESS-APISCRIPT" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Set-Value-By">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="PRECEDENCE-VALUE" />
<xsd:enumeration value="INTERNAL-VALUE" />
<xsd:enumeration value="UUID-VALUE" />
<xsd:enumeration value="DISPLAY-VALUE" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Set-Value-Method">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="REPLACE-VALUES" />
<xsd:enumeration value="APPEND-VALUES" />
<xsd:enumeration value="REMOVE-VALUES" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ItemLink-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="DEFAULT-ITEM-LINK" />
<xsd:enumeration value="TWOWAY-NO-TRIGGERS" />
<xsd:enumeration value="ONEWAY-NO-TRIGGERS" />
<xsd:enumeration value="ONEWAY-CURRENT-TRIGGERS-LINKED" />
<xsd:enumeration value="TWOWAY-CURRENT-TRIGGERS-LINKED" />
<xsd:enumeration value="TWOWAY-LINKED-TRIGGERS-CURRENT" />
<xsd:enumeration value="TWOWAY-BOTH-TRIGGERS" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Solution-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TEAMTRACK-SOLUTION" />
<xsd:enumeration value="USER-SOLUTION" />
<xsd:enumeration value="THIRDPARTY-SOLUTION" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Table-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="NOT-SPECIFIED" />
<xsd:enumeration value="SYSTEM-TABLE" />
<xsd:enumeration value="PRIMARY-TABLE" />
<xsd:enumeration value="AUXILIARY-TABLE" />
<xsd:enumeration value="SYSTEM-AUXILIARY-TABLE" />
<xsd:enumeration value="ARCHIVE-TABLE" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Field-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="FLDTYPE-UNKNOWN" />
<xsd:enumeration value="FLDTYPE-NUMERIC" />
<xsd:enumeration value="FLDTYPE-TEXT" />
<xsd:enumeration value="FLDTYPE-DATETIME" />
<xsd:enumeration value="FLDTYPE-SELECTION" />
<xsd:enumeration value="FLDTYPE-BINARY" />
<xsd:enumeration value="FLDTYPE-STATE" />
<xsd:enumeration value="FLDTYPE-USER" />
<xsd:enumeration value="FLDTYPE-PROJECT" />
<xsd:enumeration value="FLDTYPE-SUMMATION" />
<xsd:enumeration value="FLDTYPE-MULTIPLE-SELECTION" />
<xsd:enumeration value="FLDTYPE-CONTACT" />
<xsd:enumeration value="FLDTYPE-INCIDENT" />
<xsd:enumeration value="FLDTYPE-FOLDER" />
<xsd:enumeration value="FLDTYPE-RELATIONAL" />
<xsd:enumeration value="FLDTYPE-SUBRELATIONAL" />
<xsd:enumeration value="FLDTYPE-SYSTEM" />
<xsd:enumeration value="FLDTYPE-MULTIPLE-RELATIONAL" />
<xsd:enumeration value="FLDTYPE-MULTIPLE-GROUP" />
<xsd:enumeration value="FLDTYPE-MULTIPLE-USERGROUP" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ReportType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LISTING" />
<xsd:enumeration value="ALLTYPES" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ReportCategory">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ALL" />
<xsd:enumeration value="APPLICATION" />
<xsd:enumeration value="BUILTIN" />
<xsd:enumeration value="MY" />
<xsd:enumeration value="QUICKLINKS" />
<xsd:enumeration value="USERREPORTS" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ReportAccessLevel">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="PRIVATE" />
<xsd:enumeration value="GUEST" />
<xsd:enumeration value="USER" />
<xsd:enumeration value="MANAGER" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="GetTransitionOptions">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TRANSITIONS-ALL" />
<xsd:enumeration value="TRANSITIONS-QUICK" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Transition-Type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TRANSITION-REGULAR" />
<xsd:enumeration value="TRANSITION-COPY" />
<xsd:enumeration value="TRANSITION-POST" />
<xsd:enumeration value="TRANSITION-SUBMITPROBLEM" />
<xsd:enumeration value="TRANSITION-MOBILE" />
<xsd:enumeration value="TRANSITION-SUBTASK" />
<xsd:enumeration value="TRANSITION-UPDATE" />
<xsd:enumeration value="TRANSITION-DELETE" />
<xsd:enumeration value="TRANSITION-EXTERNALPOST" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ExtraValue">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="value" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ExtendedData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="data" type="ae:ExtraValue" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Auth">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="userId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="password" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="hostname" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="loginAsUserId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="displayName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="uuid" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ItemIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="tableId" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="tableIdItemId" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="issueId" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="StateIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="isClosed" type="xsd:boolean" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TransitionIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ProjectIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="fullyQualifiedName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TableIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="dbName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FieldIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="dbName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UserIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="loginId" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GroupIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="SolutionIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="uniqueName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="tabName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ApplicationIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="WorkflowIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ReportIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ContactIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="RoleIdentifier">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Identifier">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="projectId" nillable="true" type="ae:ProjectIdentifier" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="PrivilegeIdentifier">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="type" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Options">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="extraOption" type="ae:ExtraValue" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MultipleOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Options">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="multiOption" type="ae:MultipleOption" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ResponseItemOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Options">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="sections" type="ae:SectionsOption" />
<xsd:element minOccurs="0" maxOccurs="1" name="specifiedSections" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="limitedField" type="ae:FieldIdentifier" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="MultipleResponseItemOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:ResponseItemOptions">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="multiOption" type="ae:MultipleOption" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UserSingleResponseOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Options">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="sections" type="ae:SectionsOption" />
<xsd:element minOccurs="0" maxOccurs="1" name="specifiedSections" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UserResponseOptions">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:UserSingleResponseOptions">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="multiOption" type="ae:MultipleOption" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Status">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="status" type="ae:StatusEnum" />
<xsd:element minOccurs="0" maxOccurs="1" name="code" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="message" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FieldValue">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="displayValue" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="internalName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="internalValue" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="uuid" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FileAttachment">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="fileName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="showAsImage" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="modificationDateTime" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="url" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" default="ATTACHACCESS-DEFAULT" name="accessType" type="ae:Attachment-Access-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FileBufferBase64">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="data" nillable="true" type="xsd:base64Binary" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FileAttachmentContents">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:FileAttachment">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="contentsBase64" nillable="true" type="ae:FileBufferBase64" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FileContents">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="contentsBase64" nillable="true" type="ae:FileBufferBase64" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserSolutionData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="homeReport" nillable="true" type="ae:ReportIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="preferredProject" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserInfo">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="accessType" type="ae:AccessType" />
<xsd:element minOccurs="0" maxOccurs="1" name="email" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="emailCC" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="timezone" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="offsetFromGMT" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="dstSavings" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="datePreference" type="ae:DatePreference" />
<xsd:element minOccurs="0" maxOccurs="1" name="timePreference" type="ae:TimePreference" />
<xsd:element minOccurs="0" maxOccurs="1" name="namespaceName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="phoneNumber" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="locale" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="isDeleted" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="contact" nillable="true" type="ae:ContactIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxNotes" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxChangeHistory" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxItemsPerPage" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="fieldsMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="notesMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="changeHistoryMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="browserMask" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="group" type="ae:GroupIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="preferredSolution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="solutionData" type="ae:UserSolutionData" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserHolder">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GroupInfo">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" nillable="true" type="ae:GroupIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="accessType" type="ae:AccessType" />
<xsd:element minOccurs="0" maxOccurs="1" name="memo" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="isDeleted" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GroupHolder">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="group" nillable="true" type="ae:GroupInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RoleInfo">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="ae:RoleIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="access" type="ae:GrantState" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PrivilegeInfo">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="privilegeId" nillable="true" type="ae:PrivilegeIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="access" type="ae:GrantState" />
<xsd:element minOccurs="0" maxOccurs="1" name="objectId" nillable="true" type="ae:Identifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="projectId" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RoleHolder">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="role" nillable="true" type="ae:RoleInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PrivilegeHolder">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="privilege" nillable="true" type="ae:PrivilegeInfo" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NameValue">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" nillable="true" type="ae:FieldIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="setValueBy" nillable="true" type="ae:Set-Value-By" />
<xsd:element minOccurs="0" maxOccurs="1" name="setValueMethod" nillable="true" type="ae:Set-Value-Method" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="value" type="ae:FieldValue" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Note">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="title" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="note" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="author" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="modificationDateTime" type="xsd:dateTime" />
<xsd:element minOccurs="1" maxOccurs="1" default="ATTACHACCESS-DEFAULT" name="accessType" type="ae:Attachment-Access-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ItemLink">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="itemID" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" default="DEFAULT-ITEM-LINK" name="linkType" type="ae:ItemLink-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="modificationDateTime" type="xsd:dateTime" />
<xsd:element minOccurs="1" maxOccurs="1" default="ATTACHACCESS-DEFAULT" name="accessType" type="ae:Attachment-Access-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="URLAttachment">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="name" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="url" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="showAsImage" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="modificationDateTime" type="xsd:dateTime" />
<xsd:element minOccurs="1" maxOccurs="1" default="ATTACHACCESS-DEFAULT" name="accessType" type="ae:Attachment-Access-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SubTasks">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="parentItemId" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="subtask" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TTItem">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="itemType" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="title" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="createdBy" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="createDate" nillable="true" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="modifiedBy" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="modifiedDate" nillable="true" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="activeInactive" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="state" nillable="true" type="ae:StateIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="owner" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="url" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="extendedField" type="ae:NameValue" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="note" type="ae:Note" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="itemLink" type="ae:ItemLink" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="urlAttachment" type="ae:URLAttachment" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="fileAttachment" type="ae:FileAttachment" />
<xsd:element minOccurs="0" maxOccurs="1" name="subtasks" nillable="true" type="ae:SubTasks" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TTItemList">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="item" type="ae:TTItem" />
<xsd:element minOccurs="1" maxOccurs="1" name="totalCount" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TTItemHolder">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="status" type="ae:Status" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ApplicationData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="application" nillable="true" type="ae:ApplicationIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="appDefUUID" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="revision" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SolutionData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="type" type="ae:Solution-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="prefix" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="processAppUUID" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Field">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="field" nillable="true" type="ae:FieldIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="fieldType" type="ae:Field-Type" />
<xsd:element minOccurs="1" maxOccurs="1" name="attribute" type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="properties" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FieldWithValue">
<xsd:complexContent mixed="false">
<xsd:extension base="ae:Field">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="value" type="ae:FieldValue" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TableData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="type" type="ae:Table-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="field" type="ae:Field" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="QueryRange">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="startIndex" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="fetchSize" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="totalCount" type="xsd:integer" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReportsFilter">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="author" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" default="LISTING" name="reportType" type="ae:ReportType" />
<xsd:element minOccurs="0" maxOccurs="1" default="ALL" name="reportCategory" type="ae:ReportCategory" />
<xsd:element minOccurs="0" maxOccurs="1" name="reportAccessLevel" type="ae:ReportAccessLevel" />
<xsd:element minOccurs="0" maxOccurs="1" name="report" nillable="true" type="ae:ReportIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="searchByName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" default="false" name="includeSubProjects" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="createdDateFrom" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="createdDateTo" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReportInfo">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="report" nillable="true" type="ae:ReportIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="reportURL" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" default="LISTING" name="reportType" type="ae:ReportType" />
<xsd:element minOccurs="1" maxOccurs="1" name="reportCategory" type="ae:ReportCategory" />
<xsd:element minOccurs="1" maxOccurs="1" name="reportAccessLevel" type="ae:ReportAccessLevel" />
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="createdBy" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="createDate" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="modifiedBy" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="modifiedDate" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="execDate" type="xsd:dateTime" />
<xsd:element minOccurs="1" maxOccurs="1" name="isQueryAtRuntime" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReportData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id" type="xsd:long" />
<xsd:element minOccurs="0" maxOccurs="1" name="reportReference" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OrderBy">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="firstFieldName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="secondFieldName" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReportDefinition">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="orderBy" nillable="true" type="ae:OrderBy" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="column" type="ae:Field" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReportResult">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="itemURL" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="fieldValue" type="ae:FieldWithValue" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GetReportsResult">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="queryRange" nillable="true" type="ae:QueryRange" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="report" type="ae:ReportInfo" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RunReportResult">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="queryRange" nillable="true" type="ae:QueryRange" />
<xsd:element minOccurs="1" maxOccurs="1" name="reportInfo" nillable="true" type="ae:ReportInfo" />
<xsd:element minOccurs="1" maxOccurs="1" name="reportDefinition" nillable="true" type="ae:ReportDefinition" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="result" type="ae:ReportResult" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RunReportXmlResult">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="result" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProjectData">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="description" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Transition">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="transition" nillable="true" type="ae:TransitionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="fromState" nillable="true" type="ae:StateIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="toState" nillable="true" type="ae:StateIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="type" type="ae:Transition-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="transitionAttribute" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NoteLoggerInfo">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="emailAddress" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StateChangeHistory">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="newState" nillable="true" type="ae:StateIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="transition" nillable="true" type="ae:TransitionIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="time" type="xsd:dateTime" />
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="owner" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NoteAttachmentContents">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="time" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="title" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="body" nillable="true" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" default="ATTACHACCESS-DEFAULT" name="accessType" type="ae:Attachment-Access-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="GetStateChangeHistoryResult">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="queryRange" nillable="true" type="ae:QueryRange" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="stateChangeHistory" type="ae:StateChangeHistory" />
<xsd:element minOccurs="0" maxOccurs="1" name="extendedData" nillable="true" type="ae:ExtendedData" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FailedItem">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="itemId" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="status" nillable="true" type="ae:Status" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FailedItemResponse">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" nillable="true" type="ae:FailedItem" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PauseItemsResponse">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:FailedItem" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Logout">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="LogoutResponse">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="GetVersion">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="GetVersionResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetApplications">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetApplicationsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:ApplicationData" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetSolutions">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetSolutionsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:SolutionData" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetTables">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="tableType" type="ae:Table-Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetTablesResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:TableData" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetReports">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="queryRange" nillable="true" type="ae:QueryRange" />
<xsd:element minOccurs="0" maxOccurs="1" name="reportsFilter" nillable="true" type="ae:ReportsFilter" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetReportsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" nillable="true" type="ae:GetReportsResult" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="RunReport">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="queryRange" nillable="true" type="ae:QueryRange" />
<xsd:element minOccurs="0" maxOccurs="1" name="report" nillable="true" type="ae:ReportIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="solution" nillable="true" type="ae:SolutionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="reportCategory" type="ae:ReportCategory" />
<xsd:element minOccurs="0" maxOccurs="1" name="reportAccessLevel" type="ae:ReportAccessLevel" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="RunReportResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:RunReportResult" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="RunReportXml">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="report" nillable="true" type="ae:ReportData" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="RunReportXmlResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:RunReportXmlResult" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetSubmitProjects">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetSubmitProjectsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:ProjectData" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreatePrimaryItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="parentItem" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="item" nillable="true" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="1" name="submitTransition" nillable="true" type="ae:TransitionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:ResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreatePrimaryItemResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreatePrimaryItems">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="parentItem" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="item" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="1" name="submitTransition" nillable="true" type="ae:TransitionIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreatePrimaryItemsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="LinkSubtask">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="parentItem" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="childItem" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="LinkSubtaskResponse">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateAuxItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="item" nillable="true" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:ResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateAuxItemResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateAuxItems">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="item" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateAuxItemsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateFileAttachment">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="attachmentContents" nillable="true" type="ae:FileAttachmentContents" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateFileAttachmentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:FileAttachment" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateNoteAttachment">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="author" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="noteContents" nillable="true" type="ae:NoteAttachmentContents" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CreateNoteAttachmentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="itemId" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:ResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetItemResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetItems">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="itemId" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetItemsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetItemsByQuery">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="queryWhereClause" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="orderByClause" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="firstRecord" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="maxReturnSize" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetItemsByQueryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:TTItemList" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetFileAttachment">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" name="attachmentID" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetFileAttachmentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:FileAttachmentContents" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="TransitionItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="item" nillable="true" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="1" name="transition" nillable="true" type="ae:TransitionIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" default="true" name="breakLock" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:ResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="TransitionItemResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="TransitionItems">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="item" type="ae:TTItem" />
<xsd:element minOccurs="0" maxOccurs="1" name="transition" nillable="true" type="ae:TransitionIdentifier" />
<xsd:element minOccurs="1" maxOccurs="1" default="true" name="breakLock" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleResponseItemOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="TransitionItemsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:TTItemHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetAvailableTransitions">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="transitionOptions" type="ae:GetTransitionOptions" />
<xsd:element minOccurs="0" maxOccurs="1" name="attributeName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetAvailableTransitionsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:Transition" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetAvailableSubmitTransitions">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="project" nillable="true" type="ae:ProjectIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="attributeName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetAvailableSubmitTransitionsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:Transition" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UpdateFileAttachment">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="attachmentContents" nillable="true" type="ae:FileAttachmentContents" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="UpdateFileAttachmentResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:FileAttachment" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteItems">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="unbounded" name="itemId" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteItemsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="return" type="ae:Status" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteItemsByQuery">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="table" nillable="true" type="ae:TableIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="queryWhereClause" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:MultipleOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteItemsByQueryResponse">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteAttachment">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="attachmentID" type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteAttachmentResponse">
<xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
<xsd:element name="GetNoteLoggerInfo">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetNoteLoggerInfoResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:NoteLoggerInfo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetStateChangeHistory">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="item" nillable="true" type="ae:ItemIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="queryRange" nillable="true" type="ae:QueryRange" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetStateChangeHistoryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="return" nillable="true" type="ae:GetStateChangeHistoryResult" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUsers">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="1" maxOccurs="1" name="getCurrentUser" type="xsd:boolean" />
<xsd:element minOccurs="0" maxOccurs="1" name="searchByName" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="unbounded" name="user" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:UserResponseOptions" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetUsersResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="return" type="ae:UserHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IsUserValid">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="auth" nillable="true" type="ae:Auth" />
<xsd:element minOccurs="0" maxOccurs="1" name="user" nillable="true" type="ae:UserIdentifier" />
<xsd:element minOccurs="0" maxOccurs="1" name="options" nillable="true" type="ae:Options" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IsUserValidResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</WSDL:types>
<WSDL:message name="Logout">
<WSDL:part name="parameters" element="ae:Logout" />
</WSDL:message>
<WSDL:message name="LogoutResponse">
<WSDL:part name="parameters" element="ae:LogoutResponse" />
</WSDL:message>
<WSDL:message name="GetVersion">
<WSDL:part name="parameters" element="ae:GetVersion" />
</WSDL:message>
<WSDL:message name="GetVersionResponse">
<WSDL:part name="parameters" element="ae:GetVersionResponse" />
</WSDL:message>
<WSDL:message name="GetApplications">
<WSDL:part name="parameters" element="ae:GetApplications" />
</WSDL:message>
<WSDL:message name="GetApplicationsResponse">
<WSDL:part name="parameters" element="ae:GetApplicationsResponse" />
</WSDL:message>
<WSDL:message name="GetSolutions">
<WSDL:part name="parameters" element="ae:GetSolutions" />
</WSDL:message>
<WSDL:message name="GetSolutionsResponse">
<WSDL:part name="parameters" element="ae:GetSolutionsResponse" />
</WSDL:message>
<WSDL:message name="GetTables">
<WSDL:part name="parameters" element="ae:GetTables" />
</WSDL:message>
<WSDL:message name="GetTablesResponse">
<WSDL:part name="parameters" element="ae:GetTablesResponse" />
</WSDL:message>
<WSDL:message name="GetReports">
<WSDL:part name="parameters" element="ae:GetReports" />
</WSDL:message>
<WSDL:message name="GetReportsResponse">
<WSDL:part name="parameters" element="ae:GetReportsResponse" />
</WSDL:message>
<WSDL:message name="RunReport">
<WSDL:part name="parameters" element="ae:RunReport" />
</WSDL:message>
<WSDL:message name="RunReportResponse">
<WSDL:part name="parameters" element="ae:RunReportResponse" />
</WSDL:message>
<WSDL:message name="RunReportXml">
<WSDL:part name="parameters" element="ae:RunReportXml" />
</WSDL:message>
<WSDL:message name="RunReportXmlResponse">
<WSDL:part name="parameters" element="ae:RunReportXmlResponse" />
</WSDL:message>
<WSDL:message name="GetSubmitProjects">
<WSDL:part name="parameters" element="ae:GetSubmitProjects" />
</WSDL:message>
<WSDL:message name="GetSubmitProjectsResponse">
<WSDL:part name="parameters" element="ae:GetSubmitProjectsResponse" />
</WSDL:message>
<WSDL:message name="CreatePrimaryItem">
<WSDL:part name="parameters" element="ae:CreatePrimaryItem" />
</WSDL:message>
<WSDL:message name="CreatePrimaryItemResponse">
<WSDL:part name="parameters" element="ae:CreatePrimaryItemResponse" />
</WSDL:message>
<WSDL:message name="CreatePrimaryItems">
<WSDL:part name="parameters" element="ae:CreatePrimaryItems" />
</WSDL:message>
<WSDL:message name="CreatePrimaryItemsResponse">
<WSDL:part name="parameters" element="ae:CreatePrimaryItemsResponse" />
</WSDL:message>
<WSDL:message name="LinkSubtask">
<WSDL:part name="parameters" element="ae:LinkSubtask" />
</WSDL:message>
<WSDL:message name="LinkSubtaskResponse">
<WSDL:part name="parameters" element="ae:LinkSubtaskResponse" />
</WSDL:message>
<WSDL:message name="CreateAuxItem">
<WSDL:part name="parameters" element="ae:CreateAuxItem" />
</WSDL:message>
<WSDL:message name="CreateAuxItemResponse">
<WSDL:part name="parameters" element="ae:CreateAuxItemResponse" />
</WSDL:message>
<WSDL:message name="CreateAuxItems">
<WSDL:part name="parameters" element="ae:CreateAuxItems" />
</WSDL:message>
<WSDL:message name="CreateAuxItemsResponse">
<WSDL:part name="parameters" element="ae:CreateAuxItemsResponse" />
</WSDL:message>
<WSDL:message name="CreateFileAttachment">
<WSDL:part name="parameters" element="ae:CreateFileAttachment" />
</WSDL:message>
<WSDL:message name="CreateFileAttachmentResponse">
<WSDL:part name="parameters" element="ae:CreateFileAttachmentResponse" />
</WSDL:message>
<WSDL:message name="CreateNoteAttachment">
<WSDL:part name="parameters" element="ae:CreateNoteAttachment" />
</WSDL:message>
<WSDL:message name="CreateNoteAttachmentResponse">
<WSDL:part name="parameters" element="ae:CreateNoteAttachmentResponse" />
</WSDL:message>
<WSDL:message name="GetItem">
<WSDL:part name="parameters" element="ae:GetItem" />
</WSDL:message>
<WSDL:message name="GetItemResponse">
<WSDL:part name="parameters" element="ae:GetItemResponse" />
</WSDL:message>
<WSDL:message name="GetItems">
<WSDL:part name="parameters" element="ae:GetItems" />
</WSDL:message>
<WSDL:message name="GetItemsResponse">
<WSDL:part name="parameters" element="ae:GetItemsResponse" />
</WSDL:message>
<WSDL:message name="GetItemsByQuery">
<WSDL:part name="parameters" element="ae:GetItemsByQuery" />
</WSDL:message>
<WSDL:message name="GetItemsByQueryResponse">
<WSDL:part name="parameters" element="ae:GetItemsByQueryResponse" />
</WSDL:message>
<WSDL:message name="GetFileAttachment">
<WSDL:part name="parameters" element="ae:GetFileAttachment" />
</WSDL:message>
<WSDL:message name="GetFileAttachmentResponse">
<WSDL:part name="parameters" element="ae:GetFileAttachmentResponse" />
</WSDL:message>
<WSDL:message name="TransitionItem">
<WSDL:part name="parameters" element="ae:TransitionItem" />
</WSDL:message>
<WSDL:message name="TransitionItemResponse">
<WSDL:part name="parameters" element="ae:TransitionItemResponse" />
</WSDL:message>
<WSDL:message name="TransitionItems">
<WSDL:part name="parameters" element="ae:TransitionItems" />
</WSDL:message>
<WSDL:message name="TransitionItemsResponse">
<WSDL:part name="parameters" element="ae:TransitionItemsResponse" />
</WSDL:message>
<WSDL:message name="GetAvailableTransitions">
<WSDL:part name="parameters" element="ae:GetAvailableTransitions" />
</WSDL:message>
<WSDL:message name="GetAvailableTransitionsResponse">
<WSDL:part name="parameters" element="ae:GetAvailableTransitionsResponse" />
</WSDL:message>
<WSDL:message name="GetAvailableSubmitTransitions">
<WSDL:part name="parameters" element="ae:GetAvailableSubmitTransitions" />
</WSDL:message>
<WSDL:message name="GetAvailableSubmitTransitionsResponse">
<WSDL:part name="parameters" element="ae:GetAvailableSubmitTransitionsResponse" />
</WSDL:message>
<WSDL:message name="UpdateFileAttachment">
<WSDL:part name="parameters" element="ae:UpdateFileAttachment" />
</WSDL:message>
<WSDL:message name="UpdateFileAttachmentResponse">
<WSDL:part name="parameters" element="ae:UpdateFileAttachmentResponse" />
</WSDL:message>
<WSDL:message name="DeleteItems">
<WSDL:part name="parameters" element="ae:DeleteItems" />
</WSDL:message>
<WSDL:message name="DeleteItemsResponse">
<WSDL:part name="parameters" element="ae:DeleteItemsResponse" />
</WSDL:message>
<WSDL:message name="DeleteItemsByQuery">
<WSDL:part name="parameters" element="ae:DeleteItemsByQuery" />
</WSDL:message>
<WSDL:message name="DeleteItemsByQueryResponse">
<WSDL:part name="parameters" element="ae:DeleteItemsByQueryResponse" />
</WSDL:message>
<WSDL:message name="DeleteAttachment">
<WSDL:part name="parameters" element="ae:DeleteAttachment" />
</WSDL:message>
<WSDL:message name="DeleteAttachmentResponse">
<WSDL:part name="parameters" element="ae:DeleteAttachmentResponse" />
</WSDL:message>
<WSDL:message name="GetNoteLoggerInfo">
<WSDL:part name="parameters" element="ae:GetNoteLoggerInfo" />
</WSDL:message>
<WSDL:message name="GetNoteLoggerInfoResponse">
<WSDL:part name="parameters" element="ae:GetNoteLoggerInfoResponse" />
</WSDL:message>
<WSDL:message name="GetStateChangeHistory">
<WSDL:part name="parameters" element="ae:GetStateChangeHistory" />
</WSDL:message>
<WSDL:message name="GetStateChangeHistoryResponse">
<WSDL:part name="parameters" element="ae:GetStateChangeHistoryResponse" />
</WSDL:message>
<WSDL:message name="GetUsers">
<WSDL:part name="parameters" element="ae:GetUsers" />
</WSDL:message>
<WSDL:message name="GetUsersResponse">
<WSDL:part name="parameters" element="ae:GetUsersResponse" />
</WSDL:message>
<WSDL:message name="IsUserValid">
<WSDL:part name="parameters" element="ae:IsUserValid" />
</WSDL:message>
<WSDL:message name="IsUserValidResponse">
<WSDL:part name="parameters" element="ae:IsUserValidResponse" />
</WSDL:message>
<WSDL:message name="AEWebservicesFaultFault">
<WSDL:part name="fault" element="ae:AEWebservicesFault" />
</WSDL:message>
<WSDL:portType name="sbmappservices72PortType">
<WSDL:operation name="Logout">
<documentation>Logs out the current active session, releasing license.</documentation>
<WSDL:input message="tns:Logout" />
<WSDL:output message="tns:LogoutResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetVersion">
<documentation>Gets the server version.</documentation>
<WSDL:input message="tns:GetVersion" />
<WSDL:output message="tns:GetVersionResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetApplications">
<documentation>Gets the list of available applications.</documentation>
<WSDL:input message="tns:GetApplications" />
<WSDL:output message="tns:GetApplicationsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetSolutions">
<documentation>Gets the list of available solutions.</documentation>
<WSDL:input message="tns:GetSolutions" />
<WSDL:output message="tns:GetSolutionsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetTables">
<documentation>Gets the list of available tables, optionally filtered by solution and/or table type.</documentation>
<WSDL:input message="tns:GetTables" />
<WSDL:output message="tns:GetTablesResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetReports">
<documentation>Gets a filtered list of reports.</documentation>
<WSDL:input message="tns:GetReports" />
<WSDL:output message="tns:GetReportsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="RunReport">
<documentation>Runs a specified report.</documentation>
<WSDL:input message="tns:RunReport" />
<WSDL:output message="tns:RunReportResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="RunReportXml">
<documentation>Service definition of function ae__RunReportXml</documentation>
<WSDL:input message="tns:RunReportXml" />
<WSDL:output message="tns:RunReportXmlResponse" />
</WSDL:operation>
<WSDL:operation name="GetSubmitProjects">
<documentation>Gets the list of available projects available for submitting new items, optionally filtered by table id.</documentation>
<WSDL:input message="tns:GetSubmitProjects" />
<WSDL:output message="tns:GetSubmitProjectsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreatePrimaryItem">
<documentation>Creates a new item, given a project and item data. Creates the item as a sub-item if a parent item is specified.</documentation>
<WSDL:input message="tns:CreatePrimaryItem" />
<WSDL:output message="tns:CreatePrimaryItemResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreatePrimaryItems">
<documentation>Creates new item(s), given a project and item data. Creates the item(s) as sub-items if a parent item is specified.</documentation>
<WSDL:input message="tns:CreatePrimaryItems" />
<WSDL:output message="tns:CreatePrimaryItemsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="LinkSubtask">
<documentation>Links one item to another as a sub-task.</documentation>
<WSDL:input message="tns:LinkSubtask" />
<WSDL:output message="tns:LinkSubtaskResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateAuxItem">
<documentation>Creates a new aux item, given a table id and item data.</documentation>
<WSDL:input message="tns:CreateAuxItem" />
<WSDL:output message="tns:CreateAuxItemResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateAuxItems">
<documentation>Service definition of function ae__CreateAuxItems</documentation>
<WSDL:input message="tns:CreateAuxItems" />
<WSDL:output message="tns:CreateAuxItemsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateFileAttachment">
<documentation>Creates a new attachment, given item id of the item to which it is to be attached, and the file attachment contents.</documentation>
<WSDL:input message="tns:CreateFileAttachment" />
<WSDL:output message="tns:CreateFileAttachmentResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="CreateNoteAttachment">
<documentation>attaches note.</documentation>
<WSDL:input message="tns:CreateNoteAttachment" />
<WSDL:output message="tns:CreateNoteAttachmentResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetItem">
<documentation>Gets item, given an item id.</documentation>
<WSDL:input message="tns:GetItem" />
<WSDL:output message="tns:GetItemResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetItems">
<documentation>Gets items, given a list of item ids.</documentation>
<WSDL:input message="tns:GetItems" />
<WSDL:output message="tns:GetItemsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetItemsByQuery">
<documentation>Gets a list of existing items, given a table id, a query where clause, an order by clause (optional) and a maximum return list size.</documentation>
<WSDL:input message="tns:GetItemsByQuery" />
<WSDL:output message="tns:GetItemsByQueryResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetFileAttachment">
<documentation>Gets an existing file attachment, given an item id and attachment id.</documentation>
<WSDL:input message="tns:GetFileAttachment" />
<WSDL:output message="tns:GetFileAttachmentResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="TransitionItem">
<documentation>Transitions existing item, given the the item id, plus any data to update, and transition id to use a non-default transition.</documentation>
<WSDL:input message="tns:TransitionItem" />
<WSDL:output message="tns:TransitionItemResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="TransitionItems">
<documentation>Transitions existing items, given the item ids, plus any data to update, and transition id to use a non-default transition.</documentation>
<WSDL:input message="tns:TransitionItems" />
<WSDL:output message="tns:TransitionItemsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetAvailableTransitions">
<documentation>Return available transitions, given an item id and attribute name (may be null or empty).</documentation>
<WSDL:input message="tns:GetAvailableTransitions" />
<WSDL:output message="tns:GetAvailableTransitionsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetAvailableSubmitTransitions">
<documentation>Return available Submit transitions, given an item id and attribute name (may be null or empty).</documentation>
<WSDL:input message="tns:GetAvailableSubmitTransitions" />
<WSDL:output message="tns:GetAvailableSubmitTransitionsResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="UpdateFileAttachment">
<documentation>Updates an existing attachment, given item id, and the file attachment contents.</documentation>
<WSDL:input message="tns:UpdateFileAttachment" />
<WSDL:output message="tns:UpdateFileAttachmentResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="DeleteItems">
<documentation>Service definition of function ae__DeleteItems</documentation>
<WSDL:input message="tns:DeleteItems" />
<WSDL:output message="tns:DeleteItemsResponse" />
</WSDL:operation>
<WSDL:operation name="DeleteItemsByQuery">
<documentation>Deletes one or more items, given a table id and a query where clause.</documentation>
<WSDL:input message="tns:DeleteItemsByQuery" />
<WSDL:output message="tns:DeleteItemsByQueryResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="DeleteAttachment">
<documentation>Deletes an existing attachment, which may be a note, item link, URL attachment or file attachment, given an attachment id.</documentation>
<WSDL:input message="tns:DeleteAttachment" />
<WSDL:output message="tns:DeleteAttachmentResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetNoteLoggerInfo">
<documentation>Returns note logger information.</documentation>
<WSDL:input message="tns:GetNoteLoggerInfo" />
<WSDL:output message="tns:GetNoteLoggerInfoResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetStateChangeHistory">
<documentation>Gets the state change history of an existing item, given a table id and internal item id.</documentation>
<WSDL:input message="tns:GetStateChangeHistory" />
<WSDL:output message="tns:GetStateChangeHistoryResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="GetUsers">
<documentation>Returns user information one or more users. If getCurrentUser is true, then information about the current user is returned.</documentation>
<WSDL:input message="tns:GetUsers" />
<WSDL:output message="tns:GetUsersResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
<WSDL:operation name="IsUserValid">
<documentation>Determine if the specified user is valid.</documentation>
<WSDL:input message="tns:IsUserValid" />
<WSDL:output message="tns:IsUserValidResponse" />
<WSDL:fault name="AEWebservicesFault" message="tns:AEWebservicesFaultFault" />
</WSDL:operation>
</WSDL:portType>
<WSDL:binding name="sbmappservices72" type="tns:sbmappservices72PortType">
<SOAP:binding transport="http://schemas.xmlsoap.org/soap/http" />
<WSDL:operation name="Logout">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetVersion">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetApplications">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetSolutions">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetTables">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetReports">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="RunReport">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="RunReportXml">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
</WSDL:operation>
<WSDL:operation name="GetSubmitProjects">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreatePrimaryItem">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreatePrimaryItems">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="LinkSubtask">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateAuxItem">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateAuxItems">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateFileAttachment">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="CreateNoteAttachment">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetItem">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetItems">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetItemsByQuery">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetFileAttachment">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="TransitionItem">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="TransitionItems">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetAvailableTransitions">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetAvailableSubmitTransitions">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="UpdateFileAttachment">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="DeleteItems">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
</WSDL:operation>
<WSDL:operation name="DeleteItemsByQuery">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="DeleteAttachment">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetNoteLoggerInfo">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetStateChangeHistory">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="GetUsers">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
<WSDL:operation name="IsUserValid">
<SOAP:operation soapAction="" />
<WSDL:input>
<SOAP:body use="literal" parts="parameters" />
</WSDL:input>
<WSDL:output>
<SOAP:body use="literal" parts="parameters" />
</WSDL:output>
<WSDL:fault name="AEWebservicesFault">
<SOAP:fault use="literal" name="AEWebservicesFault" namespace="" />
</WSDL:fault>
</WSDL:operation>
</WSDL:binding>
<WSDL:service name="sbmappservices72">
<documentation>SBM Application Web Services Version 7.2</documentation>
<WSDL:port name="sbmappservices72" binding="tns:sbmappservices72">
<SOAP:address location="http://localhost:80/gsoap/gsoap_ssl.dll?sbmappservices72" />
</WSDL:port>
</WSDL:service>
</WSDL:definitions>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/ivysettings.xml
0,0 → 1,22
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="defaultchain" />
<resolvers>
<ibiblio name="apache-maven" m2compatible="true" usepoms="true" root="http://repo.maven.apache.org/maven2/" />
<ibiblio name="java" m2compatible="true" usepoms="true" root="http://download.java.net/maven/2/" />
 
<filesystem name="local-filesystem">
<!-- <ivy pattern="${ivy.settings.dir}/1/[organisation]/[module]/ivys/ivy-[revision].xml"/> -->
<artifact pattern="${ivy.settings.dir}/lib/[artifact]-[revision].[ext]" />
</filesystem>
 
<chain name="defaultchain">
<resolver ref="local-filesystem" />
<resolver ref="apache-maven" />
<resolver ref="java" />
 
</chain>
</resolvers>
 
</ivysettings>
 
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/WebContent/META-INF/MANIFEST.MF
0,0 → 1,3
Manifest-Version: 1.0
Class-Path:
 
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/.settings/org.eclipse.wst.jsdt.ui.superType.name
0,0 → 1,0
Window
/SVN-ALFEventEmitter/trunk/.settings/org.eclipse.jst.ws.cxf.core.prefs
0,0 → 1,2
eclipse.preferences.version=1
org.eclipse.jst.ws.cxf.core.runtime.version=2.7.0
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/.settings/org.eclipse.wst.jsdt.ui.superType.container
0,0 → 1,0
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
/SVN-ALFEventEmitter/trunk/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
0,0 → 1,10
<root>
<facet id="jpt.jaxb">
<node name="libprov">
<attribute name="provider-id" value="jaxb-jre-library-provider"/>
</node>
<node name="platform">
<attribute name="platform-id" value="generic_2_1"/>
</node>
</facet>
</root>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/.settings/org.eclipse.wst.common.project.facet.core.xml
0,0 → 1,9
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="cxf.core" version="1.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.6"/>
<installed facet="jpt.jaxb" version="2.1"/>
</faceted-project>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/trunk/.settings/.jsdtscope
0,0 → 1,12
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="WebContent"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>
/SVN-ALFEventEmitter/trunk/.settings/org.eclipse.wst.common.component
0,0 → 1,8
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="SVN-ALFEventEmitter">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="SVN-ALFEventEmitter"/>
<property name="java-output-path" value="/SVN-ALFEventEmitter/bin"/>
</wb-module>
</project-modules>