Subversion Repositories XServices

Compare Revisions

No changes between revisions

Ignore whitespace Rev 148 → Rev 151

/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/.classpath
0,0 → 1,13
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<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>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/.project
0,0 → 1,37
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SVN-ALFEventEmitter</name>
<comment></comment>
<projects>
</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>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/ivy.xml
0,0 → 1,55
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for additional
information regarding copyright ownership. The ASF licenses this file to
you 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. -->
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="Brutex Network" module="SVN-ALFEventEmitter" status="integration">
</info>
 
<configurations>
<conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/>
<conf name="master" visibility="public" description="contains only the artifact published by this module itself, with no transitive dependencies"/>
<conf name="compile" visibility="public" description="this is the default scope, used if none is specified. Compile dependencies are available in all classpaths." extends="master"/>
<conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
<conf name="runtime" visibility="public" description="this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath." extends="compile"/>
<conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." extends="runtime"/>
<conf name="system" visibility="public" description="this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository."/>
<conf name="sources" visibility="public" description="this configuration contains the source artifact of this module, if any."/>
<conf name="javadoc" visibility="public" description="this configuration contains the javadoc artifact of this module, if any."/>
<conf name="optional" visibility="public" description="contains all optional dependencies"/>
</configurations>
 
<dependencies defaultconf="*->#(master),master(*)">
 
<dependency org="log4j" name="log4j" rev="1.2.17"/>
<dependency org="commons-configuration" name="commons-configuration" rev="1.10"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2"/>
<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.3.1"/>
 
<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>
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/src/net/brutex/svn/SVNLookExecutor.java
0,0 → 1,177
/*
* Copyright 2013 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.svn;
 
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.StringTokenizer;
 
import net.brutex.svn.SVNCommitInfo.ChangeType;
 
import org.apache.log4j.Logger;
 
/* Executes the svnlook utility
*
* @author Brian Rosenberger bru(at)brutex.de
* @since 0.1
 
*/
public class SVNLookExecutor {
private Logger logger = Logger.getLogger(SVNLookExecutor.class);
private final File svnlook;
private final String repos;
private String TXN = null;
private String rev = null;
/**
* Instantiates a new sVN look executor.
*
* @param svnlook the svnlook
* @param repos the repos
*/
public SVNLookExecutor(File svnlook, String repos) {
if(! svnlook.exists() ) throw new IllegalArgumentException( String.format("The svnlook executable at '%s' does not exist.", svnlook.toString()));
if(! svnlook.isFile() ) throw new IllegalArgumentException( String.format("The svnlook utility at'%s' is not a file.", svnlook.toString()));
logger.debug(String.format("Instantiating '%s' with svnlook at '%s'.", this.getClass().getCanonicalName(), svnlook.toString()));
this.svnlook = svnlook;
logger.debug(String.format("Working against svn repository at '%s'.", repos));
this.repos = repos;
}
 
/**
* Execute svn look.
*
* @param command the command
* @return the string
*/
private String executeSVNLook(SVNLookCommand command) {
StringBuilder sb = new StringBuilder();
StringBuilder sberr = new StringBuilder();
//This throws an IllegalArgumentException when neither TXN nor REV is valid
String[] params;
try {
params = getTargetParam();
} catch (IllegalArgumentException e) {
logger.error(e.getMessage());
throw e;
}
try {
List<String> cmdline = new ArrayList<String>(5);
cmdline.add(svnlook.toString());
cmdline.add(command.getValue());
cmdline.add(params[0]);
cmdline.add(params[1]);
cmdline.add(repos);
 
ProcessBuilder pf = new ProcessBuilder(cmdline);
logger.debug(String.format("Executing svnlook with commandline '%s'.", pf.command()));
Process svnprocess = pf.start();
BufferedReader stdin = new BufferedReader(new InputStreamReader(svnprocess.getInputStream()));
BufferedReader stderr = new BufferedReader(new InputStreamReader(svnprocess.getErrorStream()));
String s;
while( (s = stdin.readLine()) != null ) {
sb.append(s + '\n');
}
while( (s = stderr.readLine()) != null ) {
sberr.append(s + '\n');
}
stdin.close(); stderr.close();
} catch (IOException e) {
logger.error( String.format( "Error calling the svnlook utility: '%s'", e.getMessage()));
e.printStackTrace();
}
String error = sberr.toString();
if( error.length()>0 ) {
error = "Failed to call svnlook. The STDERR was '"+error+"'";
logger.error(error);
throw new IllegalArgumentException(error);
}
String output = sb.toString().trim();
logger.debug(String.format("Svnlook output was '%s'", output));
return output;
}
/*
* Returns either -t TXN oder -rev REVISION
*
* @returns
*/
private String[] getTargetParam() {
String[] result = new String[2];
if( (TXN==null || TXN.length()<=0) && (rev==null || rev.length()<=0) ) throw new IllegalArgumentException("Either TXN or revision must be provided.");
if( TXN!=null && TXN.length()>0 && rev!=null && rev.length()>0 ) throw new IllegalArgumentException("Both, TXN and revision are given. Don't know what to use.");
if( TXN!=null && TXN.length()>0) {
result[0] = "-t";
result[1] = TXN;
return result;
}
if( rev!=null && rev.length()>0) {
result[0] = "-r";
result[1] = rev;
return result;
}
throw new IllegalArgumentException("Either TXN or revision must be provided.");
}
public void setTXN(String TXN) {
if(TXN==null || TXN.length()<=0) throw new IllegalArgumentException("TXN cannot be null or empty.");
this.TXN = TXN;
}
public void setRev(String rev) {
if(rev==null || rev.length()<=0) throw new IllegalArgumentException("Revision cannot be null or empty.");
this.rev = rev;
}
public SVNCommitInfo getCommitInfo() {
String author = executeSVNLook(SVNLookCommand.AUTHOR);
String logmessage = executeSVNLook(SVNLookCommand.LOG);
String files = executeSVNLook(SVNLookCommand.CHANGED);
SVNCommitInfo result = new SVNCommitInfo(author,
new Date(),
logmessage);
files += "\n";
StringTokenizer tokenizer = new StringTokenizer(files, "\n");
String s;
while( tokenizer.hasMoreTokens()) {
s=tokenizer.nextToken();
logger.debug(String.format("Tokenizing file list. Token '%s'.", s));
if(s.startsWith("A")) { result.addFileInfo(ChangeType.ADDED, s.substring(1).trim()); continue; }
if(s.startsWith("D")) { result.addFileInfo(ChangeType.DELETED, s.substring(1).trim()); continue; }
if(s.startsWith("UU")) { result.addFileInfo(ChangeType.BOTHUPDATE, s.substring(2).trim()); continue; }
if(s.startsWith("_U")) { result.addFileInfo(ChangeType.METAUPDATE, s.substring(2).trim()); continue; }
if(s.startsWith("U")) { result.addFileInfo(ChangeType.UPDATED, s.substring(1).trim()); continue; }
}
result.setTxn(TXN);
result.setRev(rev);
return result;
}
 
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/src/net/brutex/svn/SVNCommitInfo.java
0,0 → 1,361
/*
* Copyright 2013 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.svn;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
import org.apache.log4j.Logger;
 
/**
* The Class SVNCommitInfo represents changes commited to
* a svn repository. The information is based on svnlook.
*
* 'A ' Object dem Projektarchiv hinzugefügt
* 'D ' Objekt aus dem Projektarchiv gelöscht
* 'U ' Dateiinhalt geändert
* '_U' Eigenschaften eines Objektes geändert
* 'UU' Dateiinhalt und Eigenschaften geändert
*
* @author Brian Rosenberger, bru(at)brutex.de
* @since 0.1
*
*/
public class SVNCommitInfo {
/** The logger. */
private final Logger logger = Logger.getLogger(SVNCommitInfo.class);
/** The author. */
private final String author;
/** The commit message */
private String logmessage;
/** The date. */
private final Date date;
/** The Alist. */
private final List<String> Alist = new ArrayList<String>(0);
/** The Dlist. */
private final List<String> Dlist = new ArrayList<String>(0);
/** The Ulist. */
private final List<String> Ulist = new ArrayList<String>(5);
/** The _ ulist. */
private final List<String> _Ulist = new ArrayList<String>(0);
/** The U ulist. */
private final List<String> UUlist = new ArrayList<String>(0);
/** The issues. */
private final List<String> issues = new ArrayList<String>(1);
/** The txn. */
private String txn="";
/** The rev. */
private String rev="";
/**
* Instantiates a new SVN commit info.
*
* @param author the commiter
* @param date the commit date
* @param logmessage the commit message
*/
public SVNCommitInfo(String author, Date date, String logmessage) {
this.author = author;
this.date = date;
this.logmessage = logmessage;
}
/**
* Adds the file info.
*
* @param t the t
* @param file the file
*/
public void addFileInfo(ChangeType t, String file) {
switch (t) {
case ADDED:
Alist.add(file);
break;
case DELETED:
Dlist.add(file);
break;
case UPDATED:
Ulist.add(file);
break;
case METAUPDATE:
_Ulist.add(file);
break;
case BOTHUPDATE:
UUlist.add(file);
break;
 
default:
break;
}
}
/**
* Gets the author.
*
* @return the author
*/
public String getAuthor() {
return author;
}
/**
* Gets the commit message.
*
* @return the commit message
*/
public String getLogmessage() {
return logmessage;
}
/**
* Gets the commit date.
*
* @return the commit date
*/
public Date getDate() {
return date;
}
/**
* Gets the svn transaction id.
*
* @return the txn
*/
public String getTxn() {
return txn;
}
/**
* Sets the txn.
*
* @param txn the new txn
*/
public void setTxn(String txn) {
this.txn = txn;
}
/**
* Gets the id. This is either the txn or revision.
*
* @return the id
*/
public String getId() {
if(txn!=null) return txn;
return rev;
}
/**
* Sets the rev.
*
* @param rev the new rev
*/
public void setRev(String rev) {
this.rev = rev;
}
/**
* Gets the rev.
*
* @return the rev
*/
public String getRev() {
return rev;
}
/*
* http://openbook.galileocomputing.de/javainsel9/javainsel_04_007.htm#mjd5b5d84cb3f1b5bcb7638ea9221a491f
*/
/**
* Parses the issues.
*
* @param patterns the patterns
* @param isRemoveIssues
*/
public void parseIssues(String[] patterns, boolean isRemoveIssues) {
issues.clear(); //reset
int count = 0;
for(String p : patterns) {
Pattern regex = Pattern.compile(p);
Matcher matcher = regex.matcher(logmessage);
logger.debug(String.format("Matching regex pattern '%s' against logmessage '%s'.", matcher.pattern().pattern(), logmessage));
while( matcher.find()) {
issues.add( matcher.group() );
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.");
}
/**
* Gets the change file list as string.
*
* @return the change file list as string
*/
public String getChangeFileListAsString() {
StringBuilder sb = new StringBuilder();
for (Iterator<String> iterator = Alist.iterator(); iterator.hasNext();)
{
sb.append("A \t");
sb.append(iterator.next());
sb.append("\n");
}
for (Iterator<String> iterator = Dlist.iterator(); iterator.hasNext();)
{
sb.append("D \t");
sb.append(iterator.next());
sb.append("\n");
}
for (Iterator<String> iterator = Ulist.iterator(); iterator.hasNext();)
{
sb.append("U \t");
sb.append(iterator.next());
sb.append("\n");
}
for (Iterator<String> iterator = _Ulist.iterator(); iterator.hasNext();)
{
sb.append("_U\t");
sb.append(iterator.next());
sb.append("\n");
}
for (Iterator<String> iterator = UUlist.iterator(); iterator.hasNext();)
{
sb.append("UU\t");
sb.append(iterator.next());
sb.append("\n");
}
sb.append("Summary: " + (Ulist.size()+UUlist.size()+_Ulist.size()) + " files updated, ");
sb.append(Alist.size() + " files added, " + Dlist.size() + " files deleted.");
return sb.toString();
}
/**
* Gets the added files.
*
* @return the added files
*/
public List<String> getAddedFiles() {
return Alist;
}
/**
* Gets the deleted files.
*
* @return the deleted files
*/
public List<String> getDeletedFiles() {
return Dlist;
}
/**
* Gets the changed files.
*
* @return the changed files
*/
public List<String> getChangedFiles() {
List<String> changed = new ArrayList<String>();
changed.addAll(Ulist);
changed.addAll(UUlist);
changed.addAll(_Ulist);
return changed;
}
/**
* Gets the issues.
*
* @return the issues
*/
public List<String> getIssues() {
return issues;
}
/**
* The Enum ChangeType.
*
* @author Brian Rosenberger, bru(at)brutex.de
*/
public enum ChangeType {
/** The added. */
ADDED("A "),
/** The deleted. */
DELETED("D "),
/** The updated. */
UPDATED("U "),
/** The metaupdate. */
METAUPDATE("_U"),
/** The bothupdate. */
BOTHUPDATE("UU");
/** The indicator. */
private final String indicator;
/**
* Instantiates a new change type.
*
* @param svn the svn
*/
private ChangeType(String svn) {
this.indicator = svn;
}
/**
* Gets the enum.
*
* @param s the s
* @return the enum
*/
public static ChangeType getEnum(String s) {
for(ChangeType e : ChangeType.values()) {
if(s.equals(e.getIndicator())) return e;
}
throw new IllegalArgumentException("ChangeType enum for value '"+s+"' does not exist.");
}
/**
* Gets the indicator.
*
* @return the indicator
*/
public String getIndicator() {
return this.indicator;
}
}
 
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/src/net/brutex/svn/SVNLookCommand.java
0,0 → 1,42
/*
* Copyright 2013 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.svn;
 
/**
* The Enum SVNLookCommand. Lists supported svnlook commands
*
* @author Brian Rosenberger, bru(at)brutex.de
* @since 0.1
*/
public enum SVNLookCommand {
 
CHANGED("changed"),
LOG("log"),
AUTHOR("author");
private final String value;
private SVNLookCommand(String value) {
this.value = value;
}
public String getValue() {
return this.value;
}
 
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/src/net/brutex/emitter/SimpleHttpEvent.java
0,0 → 1,101
/*
* Copyright 2013 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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.EntityBuilder;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.log4j.Logger;
 
/**
* Construct a HTTP POST and send it.
*
* @author Brian Rosenberger, bru(at)brutex.de
* @since 0.1
*/
public class SimpleHttpEvent {
private final Logger logger = Logger.getLogger(SimpleHttpEvent.class);
private final String url;
private final String soapBody;
private long duration = 0;
/**
* Instantiates a new simple http event.
*
* @param url the url
* @param soapBody the soap body
*/
public SimpleHttpEvent(String url, String soapBody) {
this.url = url;
this.soapBody = soapBody;
}
/**
* Send soap.
*
* @param url the url
* @param soapBody the soap body
* @throws ClientProtocolException the client protocol exception
* @throws IOException Signals that an I/O exception has occurred.
*/
public void sendSoap(boolean isDropResponse) throws ClientProtocolException, IOException {
long start = System.currentTimeMillis();
HttpPost post = new HttpPost(url);
post.addHeader("Accept" , "text/xml");
post.addHeader("SOAPAction","");
EntityBuilder entitybuilder = EntityBuilder.create();
entitybuilder.setContentEncoding("UTF-8");
entitybuilder.setText(soapBody);
HttpEntity entity = entitybuilder.build();
post.setEntity(entity);
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();
BufferedReader in = new BufferedReader(new InputStreamReader(e.getContent()));
String s;
while( (s=in.readLine()) != null) {
sb.append(s);
}
logger.debug("Response: \n " + sb.toString());
} else {
logger.debug("Response was dropped.");
}
duration = System.currentTimeMillis() - start;
}
/**
* Get the response time of the soap call in milliseconds.
*
* @return duration or '0' if not yet executed
*/
public long getDuration() {
return duration;
}
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/src/net/brutex/emitter/ALFEmitter.java
0,0 → 1,664
/*
* Copyright 2013 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.File;
import java.io.FileInputStream;
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;
 
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMComment;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMText;
import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.om.xpath.AXIOMXPath;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.ParseException;
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;
 
 
/**
* The Class ALFEmitter.
*
* @author Brian Rosenberger, bru(at)brutex.de
* @since 0.1
*/
public class ALFEmitter {
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.
*
* @param args the arguments
*/
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
CommandLineParser parser = new BasicParser();
CommandLine cmd = null;
try {
cmd = parser.parse( getOptions(), args);
} catch (ParseException e1) {
logger.error(e1.getMessage());
printHelp();
System.exit(1);
}
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);
}
/**
* 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) 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));
config = null;
try {
config = new PropertiesConfiguration(config_file);
} catch (ConfigurationException e) {
logger.error("Could not find/ load '"+config_file+"' file.", e);
System.exit(1);
}
/*
* Load Properties from Configuration file
*/
//it might be interesting to look into SVNKit
//for a pure Java implementation in future
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);
}
 
/**
* 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);
} else {
logger.debug("Xml processing is deactivated.");
}
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);
}
}
}
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);
OMElement n = (OMElement) path.selectSingleNode(template);
if(n== null) {
logger.warn( String.format("<User> element was not found in namespace '%s'. Cannot add ALFSecurity elements. This is required since SBM 10.1.x.", nss));
} else {
/*
* <ns:User>
<!--Optional:-->
<ns:ALFSecurity>
<ns:UsernameToken>
<ns:Username>admin</ns:Username>
<ns:Password></ns:Password>
</ns:UsernameToken>
</ns:ALFSecurity>
</ns:User>
*/
n.removeChildren();
OMFactory fac = n.getOMFactory();
fac.createOMComment(n, "Generated by SVN-ALFEmitter");
OMElement sec = fac.createOMElement("ALFSecurity", ns);
OMElement token = fac.createOMElement("UsernameToken", ns);
OMElement user = fac.createOMElement("Username", ns);
user.addChild( fac.createOMText(eventmanager_user));
OMElement pass = fac.createOMElement("Password", ns);
pass.addChild(fac.createOMText(eventmanager_pass, OMNode.CDATA_SECTION_NODE));
token.addChild( user );
token.addChild( pass);
sec.addChild(token);
n.addChild(sec);
}
}
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
// 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);
}
private boolean verify(List<String> issues, boolean isTrace) {
Sbmappservices72 ss = new Sbmappservices72(ClassLoader.getSystemResource("sbmappservices72.wsdl") );
Sbmappservices72PortType port = ss.getSbmappservices72();
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));
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) {
OMFactory fac = OMAbstractFactory.getOMFactory();
int type = OMNode.TEXT_NODE;
if(wrapCDATA) {
type = OMNode.CDATA_SECTION_NODE;
}
OMText text = fac.createOMText(newCdata, type);
comment.insertSiblingAfter(text);
}
}
private void addElements(String pattern, List<String> files, String elementName) throws JaxenException {
if(files.size()<=0) return;
OMComment comment = findComment(pattern);
if(comment!=null) {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace ns = template.findNamespace(nss, null);
if(ns == null) logger.error(String.format("The namespace '%s' is not defined in the template.", nss));
for(String s : files) {
OMElement e = fac.createOMElement(elementName, ns);
OMText text = fac.createOMText(s, OMNode.TEXT_NODE);
e.addChild(text);
comment.insertSiblingAfter(e);
}
}
}
private OMComment findComment(String pattern) throws JaxenException {
AXIOMXPath path = new AXIOMXPath("//comment()[. = '"+pattern+"'][1]");
//OMNamespace ns = template.findNamespace(nss, null);
path.addNamespace("bru1", nss);
OMComment n = (OMComment) path.selectSingleNode(template);
if(n!=null) return n;
logger.warn("Comment '"+pattern+"' was not found in the XML template.");
return null;
}
@SuppressWarnings("static-access")
private static Options getOptions() {
Option repository = OptionBuilder.withArgName( "repository" )
.hasArg()
.withLongOpt("repository")
.withDescription( "Path or URL to the SVN repository." )
.create( PARAM_REPOS );
repository.setRequired(true);
Option txn = OptionBuilder.withArgName( "transactionid" )
.hasArg()
.withLongOpt("transaction")
.withDescription( "The SVN transaction id to examine (TXN). You cannot combine txn with -rev. "
+ "When a txn is given, the repository path must be a local path.")
.create( PARAM_TXN );
Option rev = OptionBuilder.withArgName( "revision" )
.hasArg()
.withDescription( "A revision to examine. You cannot combine revision with -txn." )
.create( PARAM_REV );
Option config = OptionBuilder.withArgName( "config_file" )
.hasArg()
.withLongOpt("config")
.withDescription( "The configuration file to use. Defaults to 'emitter.properties'.")
.create( PARAM_CONFIG );
Options options = new Options();
options.addOption(repository);
options.addOption(txn);
options.addOption(rev);
options.addOption(config);
return options;
}
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 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();
}
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/src/LICENSE.txt
0,0 → 1,13
Copyright 2013 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.
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/src/log4j.properties
0,0 → 1,15
 
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c{2} - %m%n
 
# Print only messages of level WARN or above in the package com.foo.
log4j.logger.net.brutex=DEBUG
 
log4j.logger.org.apache.axiom=INFO
log4j.logger.org.apache.commons.configuration=INFO
log4j.logger.org.apache.http=INFO
 
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/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/tags/SVN-ALFEventEmitter-0.1RC1/.settings/org.eclipse.wst.jsdt.ui.superType.name
0,0 → 1,0
Window
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/.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/tags/SVN-ALFEventEmitter-0.1RC1/.settings/org.eclipse.wst.jsdt.ui.superType.container
0,0 → 1,0
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/.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/tags/SVN-ALFEventEmitter-0.1RC1/.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/tags/SVN-ALFEventEmitter-0.1RC1/.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/tags/SVN-ALFEventEmitter-0.1RC1/.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>
/SVN-ALFEventEmitter/tags/SVN-ALFEventEmitter-0.1RC1/.settings/org.eclipse.jdt.core.prefs
0,0 → 1,11
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property