[RFC] Jira hooks redesigned on Gerrit 2.6 commit validation.

Completely new redesigned version of Jira hooks with
a common reusable infrastructure to build the issue-tracking
association logic to other Issue-Trackers (i.e. BugZilla).

Depends on the generic issue-tracker association 
maven module "hooks-its" which provides the logic for:
> Insertion of comment links using regex patterns
> Enforcement of issue-ids in git commits using
  Gerrit 2.6 commit validation listeners
> Automation of issue-tracker status transition 
  based on Gerrit code-review status

The hooks-jira layer provides the implementation of
the ItsFacade and the init-step to configure and
check connectivity with Atlassian Jira.

Change-Id: I897bc98648ed24c723514f1701eb42c22acbb198
diff --git a/.gitignore b/.gitignore
index e71333d..9fc7fb5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
 .idea
 target/
 hooks-jira.iml
+.classpath
+.project
+.settings
+
diff --git a/pom.xml b/pom.xml
index e0a1b6d..c1f392c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-Copyright (C) 2012 The Android Open Source Project
+Copyright (C) 2013 The Android Open Source Project
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -15,125 +15,197 @@
 limitations under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
-
-  <groupId>com.googlesource.gerrit.plugins.hooks.jira</groupId>
+  <parent>
+    <groupId>com.googlesource.gerrit.plugins.its</groupId>
+    <artifactId>hooks-its-parent</artifactId>
+    <version>2.6-SNAPSHOT</version>
+  </parent>
   <artifactId>hooks-jira</artifactId>
-  <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
-
-  <name>hooks-jira</name>
-  <url>http://maven.apache.org</url>
-
+  <name>Gerrit Code Review - Atlassian Jira support</name>
   <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <Gerrit-ApiType>plugin</Gerrit-ApiType>
-    <Gerrit-ApiVersion>2.6-SNAPSHOT</Gerrit-ApiVersion>
+    <Gerrit-ReloadMode>reload</Gerrit-ReloadMode>
+    <Gerrit-InitStep>com.googlesource.gerrit.plugins.hooks.jira.InitJira</Gerrit-InitStep>
+    <Gerrit-Module>com.googlesource.gerrit.plugins.hooks.jira.JiraModule</Gerrit-Module>
   </properties>
-
   <build>
     <plugins>
       <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-          <version>2.3.2</version>
-          <configuration>
-            <source>1.6</source>
-            <target>1.6</target>
-          </configuration>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>axistools-maven-plugin</artifactId>
+        <version>1.3</version>
+        <dependencies>
+          <dependency>
+            <groupId>axis</groupId>
+            <artifactId>axis</artifactId>
+            <version>1.3</version>
+          </dependency>
+          <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>mail</artifactId>
+            <version>1.4</version>
+          </dependency>
+          <dependency>
+            <groupId>javax.activation</groupId>
+            <artifactId>activation</artifactId>
+            <version>1.1</version>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <wsdlFiles>
+            <wsdlFile>jirasoapservice-v2.wsdl</wsdlFile>
+          </wsdlFiles>
+          <packageSpace>com.atlassian.jira.rpc.soap.client</packageSpace>
+        </configuration>
+        <executions>
+          <execution>
+            <id>wsdl2java-generation</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>wsdl2java</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <version>2.4</version>
-        <configuration>
-          <archive>
-            <manifestEntries>
-              <Implementation-Vendor>Gerrit Code Review</Implementation-Vendor>
-              <Implementation-URL>http://code.google.com/p/gerrit/</Implementation-URL>
-
-              <Implementation-Title>Plugin ${project.artifactId}</Implementation-Title>
-              <Implementation-Version>${project.version}</Implementation-Version>
-
-              <Gerrit-ApiType>${Gerrit-ApiType}</Gerrit-ApiType>
-              <Gerrit-ApiVersion>${Gerrit-ApiVersion}</Gerrit-ApiVersion>
-            </manifestEntries>
-          </archive>
-        </configuration>
       </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>1.7</version>
+        <configuration>
+          <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+          <artifactSet>
+            <excludes>
+              <exclude>com.gerritforge:*</exclude>
+              <exclude>com.google.gerrit:*</exclude>
+              <exclude>org.bouncycastle:*</exclude>
+              <exclude>org.slf4j:*</exclude>
+              <exclude>com.google.guava:*</exclude>
+              <exclude>org.eclipse.jgit:*</exclude>
+              <exclude>wsdl4j:wsdl4j:*</exclude>
+            </excludes>
+          </artifactSet>
+          <transformers>
+            <transformer
+              implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+              <manifestEntries>
+                <Implementation-Vendor>GerritForge LLP</Implementation-Vendor>
+                <Implementation-URL>http://www.gerritforge.com</Implementation-URL>
+                <Implementation-Title>Plugin ${project.artifactId}</Implementation-Title>
+                <Implementation-Version>${project.version}</Implementation-Version>
+                <Gerrit-ApiType>${Gerrit-ApiType}</Gerrit-ApiType>
+                <Gerrit-ApiVersion>${project.version}</Gerrit-ApiVersion>
+                <Gerrit-ReloadMode>${Gerrit-ReloadMode}</Gerrit-ReloadMode>
+                <Gerrit-InitStep>${Gerrit-InitStep}</Gerrit-InitStep>
+                <Gerrit-Module>${Gerrit-Module}</Gerrit-Module>
+              </manifestEntries>
+            </transformer>
+          </transformers>
+        </configuration>
         <executions>
           <execution>
             <phase>package</phase>
             <goals>
               <goal>shade</goal>
             </goals>
-            <configuration>
-              <artifactSet>
-                <excludes>
-                  <exclude>com.google.gerrit:*</exclude>
-                  <exclude>org.slf4j:*</exclude>
-                  <exclude>com.google.guava:*</exclude>
-                </excludes>
-              </artifactSet>
-              <transformers>
-                <transformer
-                  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                  <manifestEntries>
-                    <Implementation-Vendor>Gerrit Code Review</Implementation-Vendor>
-                    <Implementation-URL>http://code.google.com/p/gerrit/</Implementation-URL>
-
-                    <Implementation-Title>Plugin ${project.artifactId}</Implementation-Title>
-                    <Implementation-Version>${project.version}</Implementation-Version>
-
-                    <Gerrit-ApiType>${Gerrit-ApiType}</Gerrit-ApiType>
-                    <Gerrit-ApiVersion>${Gerrit-ApiVersion}</Gerrit-ApiVersion>
-                  </manifestEntries>
-                </transformer>
-              </transformers>
-            </configuration>
           </execution>
         </executions>
       </plugin>
     </plugins>
   </build>
 
+  <profiles>
+    <profile>
+      <id>build-client</id>
+      <build>
+        <defaultGoal>assembly:assembly</defaultGoal>
+      </build>
+    </profile>
+    <profile>
+      <id>fetch-wsdl</id>
+      <build>
+        <defaultGoal>generate-sources</defaultGoal>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>generate-sources</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <get
+                      src="${jira.soapclient.jiraurl}/rpc/soap/jirasoapservice-v2?wsdl"
+                      dest="${basedir}/src/main/wsdl/jirasoapservice-v2.wsdl" />
+                  </tasks>
+                </configuration>
+              </execution>
+            </executions>
+            <dependencies>
+              <dependency>
+                <groupId>axis</groupId>
+                <artifactId>axis-ant</artifactId>
+                <version>1.3</version>
+              </dependency>
+            </dependencies>
+          </plugin>
+        </plugins>
+      </build>
+      <properties>
+        <jira.soapclient.jiraurl>http://jira.atlassian.com</jira.soapclient.jiraurl>
+      </properties>
+    </profile>
+  </profiles>
+
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.10</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>com.google.gerrit</groupId>
-      <artifactId>gerrit-${Gerrit-ApiType}-api</artifactId>
-      <version>${Gerrit-ApiVersion}</version>
-      <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>r05</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.5</version>
-    </dependency>
-
-    <dependency>
       <groupId>org.apache.xmlrpc</groupId>
       <artifactId>xmlrpc-client</artifactId>
-      <version>3.1</version>
+      <version>3.1.3</version>
     </dependency>
-
+    <dependency>
+      <groupId>axis</groupId>
+      <artifactId>axis</artifactId>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>axis</groupId>
+      <artifactId>axis-jaxrpc</artifactId>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>axis</groupId>
+      <artifactId>axis-saaj</artifactId>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>axis</groupId>
+      <artifactId>axis-wsdl4j</artifactId>
+      <version>1.5.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>hooks-its</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+      <version>1.1</version>
+    </dependency>
   </dependencies>
 </project>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/InitJira.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/InitJira.java
new file mode 100644
index 0000000..988b697
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/InitJira.java
@@ -0,0 +1,98 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// 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 com.googlesource.gerrit.plugins.hooks.jira;
+
+import java.rmi.RemoteException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gerrit.pgm.init.InitStep;
+import com.google.gerrit.pgm.init.Section;
+import com.google.gerrit.pgm.init.Section.Factory;
+import com.google.gerrit.pgm.util.ConsoleUI;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.Singleton;
+import com.googlesource.gerrit.plugins.hooks.its.InitIts;
+import com.googlesource.gerrit.plugins.hooks.validation.ItsAssociationPolicy;
+
+/** Initialize the GitRepositoryManager configuration section. */
+@Singleton
+class InitJira extends InitIts implements InitStep {
+  private static final Logger log = LoggerFactory.getLogger(InitJira.class);
+  private static final String JIRA_SECTION = "jira";
+  private static final String COMMENT_LINK_SECTION = "commentLink";
+  private final ConsoleUI ui;
+  private final Factory sections;
+  private Section jira;
+  private Section jiraComment;
+  private String jiraUrl;
+  private String jiraUsername;
+  private String jiraPassword;
+
+  @Inject
+  InitJira(final ConsoleUI ui, final Injector injector, final Section.Factory sections) {
+    this.sections = sections;
+    this.ui = ui;
+  }
+
+  public void run() {
+    this.jira = sections.get(JIRA_SECTION, null);
+    this.jiraComment = sections.get(COMMENT_LINK_SECTION, JIRA_SECTION);
+
+    ui.message("\n");
+    ui.header("Jira connectivity");
+
+    do {
+      enterJiraConnectivity();
+    } while (jiraUrl != null
+        && (isConnectivityRequested(ui, jiraUrl) && !isJiraConnectSuccessful()));
+
+    if (jiraUrl == null) {
+      return;
+    }
+
+    ui.header("Jira issue-tracking association");
+    jiraComment.string("Jira issue-Id regex", "match", "([A-Z]+-[0-9]+)");
+    jiraComment.set("html",
+        String.format("<a href=\"%s/browse/$1\">$1</a>", jiraUrl));
+    jiraComment.select("Issue-id enforced in commit message", "association",
+        ItsAssociationPolicy.SUGGESTED);
+  }
+
+  public void enterJiraConnectivity() {
+    jiraUrl = jira.string("Jira URL (empty to skip)", "url", null);
+    if (jiraUrl != null) {
+      jiraUsername = jira.string("Jira username", "username", "");
+      jiraPassword = jira.password("username", "password");
+    }
+  }
+
+  private boolean isJiraConnectSuccessful() {
+    ui.message("Checking Jira connectivity ... ");
+    try {
+      JiraClient jiraClient = new JiraClient(jiraUrl);
+      JiraSession jiraToken =
+          jiraClient.login(jiraUsername, jiraPassword);
+      jiraClient.logout(jiraToken);
+      ui.message("[OK]\n");
+      return true;
+    } catch (RemoteException e) {
+      ui.message("*FAILED* (%s)\n", e.toString());
+      return false;
+    }
+  }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClient.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClient.java
index be362b6..5f1e919 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClient.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClient.java
@@ -1,4 +1,4 @@
-// Copyright (C) 2012 The Android Open Source Project
+// Copyright (C) 2013 The Android Open Source Project
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,63 +11,69 @@
 // 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 com.googlesource.gerrit.plugins.hooks.jira;
 
-import java.net.MalformedURLException;
 import java.net.URL;
+import java.rmi.RemoteException;
 
-import org.apache.xmlrpc.XmlRpcException;
-import org.apache.xmlrpc.client.XmlRpcClient;
-import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.atlassian.jira.rpc.soap.client.JiraSoapService;
+import com.atlassian.jira.rpc.soap.client.JiraSoapServiceServiceLocator;
+import com.atlassian.jira.rpc.soap.client.RemoteComment;
+import com.atlassian.jira.rpc.soap.client.RemoteFieldValue;
+import com.atlassian.jira.rpc.soap.client.RemoteIssue;
+import com.atlassian.jira.rpc.soap.client.RemoteNamedObject;
+import com.atlassian.jira.rpc.soap.client.RemoteServerInfo;
 
-import com.google.gerrit.extensions.annotations.Listen;
-import com.google.gerrit.extensions.events.LifecycleListener;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
+public class JiraClient {
 
-@Listen
-@Singleton
-public class JiraClient implements LifecycleListener {
-  private static Logger log = LoggerFactory.getLogger(JiraClient.class);
+  private final JiraSoapService service;
 
-  private final String username;
-  private final String password;
-  private final XmlRpcClientConfigImpl rpcConfig;
-  private final XmlRpcClient rpcClient;
-
-  @Inject
-  public JiraClient(JiraPluginConfig config) throws MalformedURLException {
-    this(config.rpcUrl, config.username, config.password);
+  public JiraClient(final String baseUrl) throws RemoteException {
+    this(baseUrl, "/rpc/soap/jirasoapservice-v2");
   }
 
-  public JiraClient(final String rpcUrl, final String username,
-      final String password) throws MalformedURLException {
-    this.username = username;
-    this.password = password;
-    rpcConfig = new XmlRpcClientConfigImpl();
-    rpcConfig.setServerURL(new URL(rpcUrl));
-    rpcClient = new XmlRpcClient();
-    rpcClient.setConfig(rpcConfig);
+  public JiraClient(final String baseUrl, final String rpcPath) throws RemoteException {
+    try {
+      JiraSoapServiceServiceLocator locator = new JiraSoapServiceServiceLocator();
+      service = locator.getJirasoapserviceV2(new URL(baseUrl+rpcPath));
+    }
+    catch (Exception e) {
+        throw new RemoteException("ServiceException during SOAPClient contruction", e);
+    }
   }
 
-  public JiraClientSession newSession() throws XmlRpcException {
-    return new JiraClientSession(this.rpcClient, (String) rpcClient.execute(
-        "jira1.login", new Object[] {username, password}));
+  public JiraSession login(final String username, final String password) throws RemoteException {
+    String token = service.login(username, password);
+    return new JiraSession(username, token);
   }
 
-  public void start() {
-      try {
-        JiraClientSession session = newSession();
-        session.close();
-      } catch (XmlRpcException e) {
-        log.error("Cannot validate Jira configuration and connectivity", e);
-        throw new RuntimeException(e);
-      }
+  public void logout(JiraSession token) throws RemoteException {
+    service.logout(getToken(token));
   }
 
-  public void stop() {
+  public RemoteIssue getIssue(JiraSession token, String issueKey) throws RemoteException {
+    return service.getIssue(getToken(token), issueKey);
+  }
+
+  public RemoteNamedObject[] getAvailableActions(JiraSession token, String issueKey) throws RemoteException {
+    return service.getAvailableActions(getToken(token), issueKey);
+  }
+
+  public RemoteIssue performAction(JiraSession token, String issueKey, String actionId, RemoteFieldValue... params) throws RemoteException {
+    return service.progressWorkflowAction(getToken(token), issueKey, actionId, params);
+  }
+
+  public void addComment(JiraSession token, String issueKey, RemoteComment comment) throws RemoteException {
+    service.addComment(getToken(token), issueKey, comment);
+  }
+
+  public RemoteServerInfo getServerInfo(JiraSession token) throws RemoteException {
+    return service.getServerInfo(getToken(token));
+  }
+
+  private String getToken(JiraSession token) {
+    return token == null ? null : token.getToken();
   }
 
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClientSession.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClientSession.java
deleted file mode 100644
index 0fab0e6..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraClientSession.java
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2012 The Android Open Source Project
-//
-// 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 com.googlesource.gerrit.plugins.hooks.jira;
-
-import org.apache.xmlrpc.XmlRpcException;
-import org.apache.xmlrpc.client.XmlRpcClient;
-
-public class JiraClientSession {
-  private final XmlRpcClient rpc;
-  private String sessionId;
-
-  public JiraClientSession(XmlRpcClient rpc, String sessionId) {
-    this.rpc = rpc;
-    this.sessionId = sessionId;
-  }
-
-  public void addComment(String matched, String comment) throws XmlRpcException {
-    rpc.execute("jira1.addComment", new String[] { sessionId, matched, comment });
-  }
-
-  public void close() {
-    // Do not really know at the moment if there should be something to release
-    // on the Jira side. Cannot find at the moment a "logout" XML-RPC API for this.
-  }
-}
\ No newline at end of file
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraItsFacade.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraItsFacade.java
new file mode 100644
index 0000000..029591f
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraItsFacade.java
@@ -0,0 +1,282 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// 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 com.googlesource.gerrit.plugins.hooks.jira;
+
+import java.io.IOException;
+import java.net.URL;
+import java.rmi.RemoteException;
+import java.util.concurrent.Callable;
+
+import org.apache.axis.AxisFault;
+import org.eclipse.jgit.lib.Config;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.atlassian.jira.rpc.soap.client.RemoteAuthenticationException;
+import com.atlassian.jira.rpc.soap.client.RemoteComment;
+import com.atlassian.jira.rpc.soap.client.RemoteNamedObject;
+import com.atlassian.jira.rpc.soap.client.RemoteServerInfo;
+import com.google.gerrit.server.config.GerritServerConfig;
+import com.google.inject.Inject;
+import com.googlesource.gerrit.plugins.hooks.its.InvalidTransitionException;
+import com.googlesource.gerrit.plugins.hooks.its.ItsFacade;
+
+public class JiraItsFacade implements ItsFacade {
+
+  public static final String ITS_NAME_JIRA = "jira";
+
+  private static final String GERRIT_CONFIG_USERNAME = "username";
+  private static final String GERRIT_CONFIG_PASSWORD = "password";
+  private static final String GERRIT_CONFIG_URL = "url";
+
+  private static final int MAX_ATTEMPTS = 3;
+
+  private Logger log = LoggerFactory.getLogger(JiraItsFacade.class);
+
+  private Config gerritConfig;
+
+  private JiraClient client;
+  private JiraSession token;
+
+  @Inject
+  public JiraItsFacade(@GerritServerConfig Config cfg) {
+    try {
+      this.gerritConfig = cfg;
+      RemoteServerInfo info = client().getServerInfo(token);
+      log.info("Connected to JIRA at " + info.getBaseUrl()
+          + ", reported version is " + info.getVersion());
+    } catch (Exception ex) {
+      log.warn("Jira is currently not available", ex);
+    }
+  }
+
+  @Override
+  public String name() {
+    return "Jira";
+  }
+
+  @Override
+  public String healthCheck(final Check check) throws IOException {
+
+      return execute(new Callable<String>(){
+        @Override
+        public String call() throws Exception {
+          if (check.equals(Check.ACCESS))
+            return healthCheckAccess();
+          else
+            return healthCheckSysinfo();
+        }});
+  }
+
+  @Override
+  public void addComment(final String issueKey, final String comment) throws IOException {
+
+    execute(new Callable<String>(){
+      @Override
+      public String call() throws Exception {
+        log.debug("Adding comment " + comment + " to issue " + issueKey);
+        RemoteComment remoteComment = new RemoteComment();
+        remoteComment.setBody(comment);
+        client().addComment(token, issueKey, remoteComment);
+        log.debug("Added comment " + comment + " to issue " + issueKey);
+        return issueKey;
+      }});
+  }
+
+  @Override
+  public void addRelatedLink(final String issueKey, final URL relatedUrl, String description)
+      throws IOException {
+    addComment(issueKey, "Related URL: " + createLinkForWebui(relatedUrl.toExternalForm(), description));
+  }
+
+  @Override
+  public void performAction(final String issueKey, final String actionName)
+      throws IOException {
+
+    execute(new Callable<String>(){
+      @Override
+      public String call() throws Exception {
+        doPerformAction(issueKey, actionName);
+        return issueKey;
+      }});
+  }
+
+  private void doPerformAction(final String issueKey, final String actionName)
+      throws RemoteException, IOException {
+    String actionId = null;
+    RemoteNamedObject[] actions =
+        client().getAvailableActions(token, issueKey);
+    for (RemoteNamedObject action : actions) {
+      if (action.getName().equalsIgnoreCase(actionName)) {
+        actionId = action.getId();
+      }
+    }
+
+    if (actionId != null) {
+      log.debug("Executing action " + actionName + " on issue " + issueKey);
+      client().performAction(token, issueKey, actionId);
+    } else {
+      StringBuilder sb = new StringBuilder();
+      for (RemoteNamedObject action : actions) {
+        if (sb.length() > 0) sb.append(',');
+        sb.append('\'');
+        sb.append(action.getName());
+        sb.append('\'');
+      }
+
+      log.error("Action " + actionName
+          + " not found within available actions: " + sb);
+      throw new InvalidTransitionException("Action " + actionName
+          + " not executable on issue " + issueKey);
+    }
+  }
+
+
+  @Override
+  public boolean exists(final String issueKey) throws IOException {
+    return execute(new Callable<Boolean>(){
+      @Override
+      public Boolean call() throws Exception {
+        return client().getIssue(token, issueKey) != null;
+      }});
+  }
+
+  public void logout() {
+    this.logout(false);
+  }
+
+  public void logout(boolean quiet) {
+    try {
+      client().logout(token);
+    }
+    catch (Exception ex) {
+      if (!quiet) log.error("I was unable to logout", ex);
+    }
+  }
+
+  public Object login() {
+    return login(false);
+  }
+
+  public Object login(boolean quiet) {
+    try {
+      token = client.login(getUsername(), getPassword());
+      log.info("Connected to " + getUrl() + " as " + token);
+      return token;
+    }
+    catch (Exception ex) {
+      if (!quiet) {
+        log.error("I was unable to logout", ex);
+      }
+
+      return null;
+    }
+  }
+
+  private JiraClient client() throws IOException {
+
+    if (client == null) {
+      try {
+        log.debug("Connecting to jira at URL " + getUrl());
+        client = new JiraClient(getUrl());
+        log.debug("Autenthicating as user " + getUsername());
+      } catch (Exception ex) {
+        log.info("Unable to connect to Connected to " + getUrl() + " as "
+            + getUsername());
+        throw new IOException(ex);
+      }
+
+      login();
+    }
+
+    return client;
+  }
+
+  private <P> P execute(Callable<P> function) throws IOException {
+
+    int attempt = 0;
+    while(true) {
+      try {
+        return function.call();
+      } catch (Exception ex) {
+        if (isRecoverable(ex) && ++attempt < MAX_ATTEMPTS) {
+          log.debug("Call failed - retrying, attempt {} of {}", attempt, MAX_ATTEMPTS);
+          logout(true);
+          login(true);
+          continue;
+        }
+
+        if (ex instanceof IOException)
+          throw ((IOException)ex);
+        else
+          throw new IOException(ex);
+      }
+    }
+  }
+
+  private boolean isRecoverable(Exception ex) {
+    if (ex instanceof RemoteAuthenticationException)
+      return true;
+
+    String className = ex.getClass().getName();
+    if (ex instanceof AxisFault) {
+      AxisFault af = (AxisFault)ex;
+      className = (af.detail == null ? "unknown" : af.detail.getClass().getName());
+    }
+
+    return className.startsWith("java.net");
+  }
+
+  private String getPassword() {
+    final String pass =
+        gerritConfig.getString(ITS_NAME_JIRA, null,
+            GERRIT_CONFIG_PASSWORD);
+    return pass;
+  }
+
+  private String getUsername() {
+    final String user =
+        gerritConfig.getString(ITS_NAME_JIRA, null,
+            GERRIT_CONFIG_USERNAME);
+    return user;
+  }
+
+  private String getUrl() {
+    final String url =
+        gerritConfig.getString(ITS_NAME_JIRA, null, GERRIT_CONFIG_URL);
+    return url;
+  }
+
+  @Override
+  public String createLinkForWebui(String url, String text) {
+    return "["+text+"|"+url+"]";
+  }
+
+  private String healthCheckAccess() throws RemoteException {
+    JiraClient client = new JiraClient(getUrl());
+    JiraSession token = client.login(getUsername(), getPassword());
+    client.logout(token);
+    final String result = "{\"status\"=\"ok\",\"username\"=\""+getUsername()+"\"}";
+    log.debug("Healtheck on access result: {}", result);
+    return result;
+  }
+
+  private String healthCheckSysinfo() throws RemoteException, IOException {
+    final RemoteServerInfo res = client().getServerInfo(token);
+    final String result = "{\"status\"=\"ok\",\"system\"=\"Jira\",\"version\"=\""+res.getVersion()+"\",\"url\"=\""+getUrl()+"\",\"build\"=\""+res.getBuildNumber()+"\"}";
+    log.debug("Healtheck on sysinfo result: {}", result);
+    return result;
+  }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraModule.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraModule.java
new file mode 100644
index 0000000..3c32d2b
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraModule.java
@@ -0,0 +1,50 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// 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 com.googlesource.gerrit.plugins.hooks.jira;
+
+import org.eclipse.jgit.lib.Config;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.config.GerritServerConfig;
+import com.google.gerrit.server.git.validators.CommitValidationListener;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.googlesource.gerrit.plugins.hooks.ItsHookModule;
+import com.googlesource.gerrit.plugins.hooks.its.ItsFacade;
+import com.googlesource.gerrit.plugins.hooks.validation.ItsValidateComment;
+
+public class JiraModule extends AbstractModule {
+
+  private static final Logger LOG = LoggerFactory.getLogger(JiraModule.class);
+
+  private final Config gerritConfig;
+
+  @Inject
+  public JiraModule(@GerritServerConfig final Config config) {
+    this.gerritConfig = config;
+  }
+
+  @Override
+  protected void configure() {
+    if (gerritConfig.getString(JiraItsFacade.ITS_NAME_JIRA, null, "url") != null) {
+      LOG.info("JIRA is configured as ITS");
+      bind(ItsFacade.class).toInstance(new JiraItsFacade(gerritConfig));
+
+      install(new ItsHookModule(JiraItsFacade.ITS_NAME_JIRA));
+    }
+  }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraPluginConfig.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraPluginConfig.java
deleted file mode 100644
index 6a08875..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraPluginConfig.java
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright (C) 2012 The Android Open Source Project
-//
-// 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 com.googlesource.gerrit.plugins.hooks.jira;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jgit.api.errors.InvalidConfigurationException;
-import org.eclipse.jgit.lib.Config;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Objects;
-import com.google.gerrit.server.config.GerritServerConfig;
-import com.google.gerrit.server.config.SitePath;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-@Singleton
-public class JiraPluginConfig {
-  private static final Logger log = LoggerFactory.getLogger(JiraPluginConfig.class);
-
-  private final Config config;
-  private final File gerritSite;
-
-  public final String username;
-  public final String password;
-  public final String rpcUrl;
-  public final File gitBasePath;
-  public final String issueRegex;
-  public final String gitwebUrl;
-
-  @Inject
-  public JiraPluginConfig(@GerritServerConfig Config gerritConfig,
-      @SitePath File gerritSitePath) throws InvalidConfigurationException, MalformedURLException {
-    this.config = gerritConfig;
-    this.gerritSite = gerritSitePath;
-    this.username = getStringConfig("username");
-    this.password = getStringConfig("password");
-    this.rpcUrl = getStringConfig("rpcUrl");
-    this.gitBasePath =
-        new File(gerritSite, getStringConfigWithDefault("gerrit", "basePath", "git"));
-    this.issueRegex =
-        getStringConfigWithDefault("commentLink", "jira", "match",
-            "(\\[[a-zA-Z0-9]*-[0-9]*\\])");
-    this.gitwebUrl = getGitwebUrl(gerritConfig);
-  }
-
-  private String getGitwebUrl(Config gerritConfig) throws MalformedURLException {
-    String webUrl = gerritConfig.getString("gitweb", null, "url");
-    if (webUrl == null) {
-      if (gerritConfig.getString("gitweb", null, "cgi") != null) {
-        String canonicalUrl =
-            gerritConfig.getString("gerrit", null, "canonicalWebUrl");
-        webUrl = new URL(new URL(canonicalUrl), "gitweb").toExternalForm();
-      }
-    }
-    return webUrl;
-  }
-
-  private String getStringConfigWithDefault(String section, String key,
-      String defaultValue) {
-    return Objects.firstNonNull(config.getString(section, null, key),
-        defaultValue);
-  }
-
-  private String getStringConfigWithDefault(String section, String subsection,
-      String key, String defaultValue) {
-    return Objects.firstNonNull(config.getString(section, subsection, key),
-        defaultValue);
-  }
-
-  private String getStringConfig(String name) throws InvalidConfigurationException {
-    String value = config.getString("jira", null, name);
-    if (value == null)
-      throw new InvalidConfigurationException(
-          "Missing required configuration parameter jira." + name);
-    return value;
-  }
-}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraSession.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraSession.java
new file mode 100644
index 0000000..a9aeb52
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/JiraSession.java
@@ -0,0 +1,39 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// 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 com.googlesource.gerrit.plugins.hooks.jira;
+
+public class JiraSession {
+
+  private final String username;
+  private final String token;
+
+  public JiraSession(final String username, final String loginToken) {
+    super();
+    this.username = username;
+    this.token = loginToken;
+  }
+
+  public String getUsername() {
+    return username;
+  }
+
+  public String getToken() {
+    return token;
+  }
+
+  public String toString() {
+    return "username="+username+", token="+token;
+  }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/RefUpdated.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/RefUpdated.java
deleted file mode 100644
index 11fc3a1..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/jira/RefUpdated.java
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright (C) 2012 The Android Open Source Project
-//
-// 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 com.googlesource.gerrit.plugins.hooks.jira;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.xmlrpc.XmlRpcException;
-import org.eclipse.jgit.lib.ObjectId;
-import org.eclipse.jgit.lib.PersonIdent;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.lib.RepositoryBuilder;
-import org.eclipse.jgit.revwalk.RevCommit;
-import org.eclipse.jgit.revwalk.RevWalk;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.gerrit.extensions.annotations.Listen;
-import com.google.gerrit.extensions.events.GitReferenceUpdatedListener;
-import com.google.gerrit.reviewdb.client.Project.NameKey;
-import com.google.gerrit.server.git.LocalDiskRepositoryManager;
-import com.google.inject.Inject;
-
-@Listen
-class RefUpdated implements GitReferenceUpdatedListener {
-  private static final Logger log = LoggerFactory
-      .getLogger(GitReferenceUpdatedListener.class);
-
-  private final JiraClient jiraRpc;
-  private final File gitDir;
-  private final LocalDiskRepositoryManager repositoryManager;
-  private Pattern commentPattern;
-  private Pattern issuePattern = Pattern.compile("[A-Z][A-Z]+-[1-9][0-9]*");
-  private String gitwebUrl;
-
-  @Inject
-  RefUpdated(final JiraClient jiraRpc, JiraPluginConfig config,
-      LocalDiskRepositoryManager repositoryManager) {
-    this.jiraRpc = jiraRpc;
-    this.gitDir = config.gitBasePath;
-    this.commentPattern = Pattern.compile(config.issueRegex);
-    this.gitwebUrl = config.gitwebUrl;
-    this.repositoryManager = repositoryManager;
-  }
-
-  public void onGitReferenceUpdated(Event event) {
-    Repository repo;
-    try {
-      repo =
-          repositoryManager.openRepository(new NameKey(event.getProjectName()));
-    } catch (IOException e) {
-      log.error("Cannot open Gerrit Project " + event.getProjectName(), e);
-      return;
-    }
-
-    try {
-      RevWalk revWalk = new RevWalk(repo);
-      JiraClientSession jira;
-      try {
-        jira = jiraRpc.newSession();
-      } catch (XmlRpcException e) {
-        log.error("Cannot open a new session to Jira", e);
-        return;
-      }
-
-      try {
-        for (Update u : event.getUpdates()) {
-          String newObjId = u.getRefName();
-          if (newObjId == null) {
-            continue;
-          }
-
-          RevCommit commit;
-          try {
-            commit = revWalk.parseCommit(ObjectId.fromString(newObjId));
-          } catch (Exception e) {
-            log.error("Unable to parse commit object " + newObjId
-                + ": skipping to next update event", e);
-            continue;
-          }
-
-          process(jira, event.getProjectName(), u.getRefName(), commit);
-        }
-      } finally {
-        jira.close();
-      }
-    } finally {
-      repo.close();
-    }
-  }
-
-  private void process(JiraClientSession jira, String projectName,
-      String refName, RevCommit commit) {
-    String commitMsg = commit.getFullMessage();
-    Matcher matcher = commentPattern.matcher(commitMsg);
-    while (matcher.find()) {
-      String matched = matcher.group();
-      try {
-        addComment(jira, matched, projectName, refName, commit);
-      } catch (XmlRpcException e) {
-        log.error("Unable to add new comment to Jira issue " + matched, e);
-      }
-    }
-  }
-
-  private void addComment(JiraClientSession jira, String commentMatch,
-      String projectName, String refName, RevCommit commit)
-      throws XmlRpcException {
-    Matcher matcher = issuePattern.matcher(commentMatch);
-    if (!matcher.find()) {
-      return;
-    }
-
-    jira.addComment(matcher.group(), getComment(projectName, refName, commit));
-  }
-
-  private String getComment(String projectName, String refName, RevCommit commit) {
-    String commitId = commit.getName();
-    String comment =
-        String.format("Git commit: %s\n" + "Branch: %s\n" + "Author: %s\n"
-            + "Committer: %s\n" + "%s", commitId, refName,
-            getIdentity(commit.getAuthorIdent()),
-            getIdentity(commit.getCommitterIdent()), commit.getFullMessage());
-    if (gitwebUrl != null) {
-      comment =
-          String.format("%s\n%s?p=%s.git;a=commit;h=%s", comment, gitwebUrl,
-              projectName, commitId);
-    }
-    return comment;
-  }
-
-  private String getIdentity(PersonIdent ident) {
-    return String.format("%s <%s>", ident.getName(), ident.getEmailAddress());
-  }
-}
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 2a763e3..646cec8 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -8,33 +8,136 @@
 ----------------
 
 Git commits are associated to Jira issues reusing the existing Gerrit
-commitLink configuration to extract the issue ID from commit comments.
+[commitLink configuration]i[1] to extract the issue ID from commit comments.
+
+[1]: ../../../Documentation/config-gerrit.html#_a_id_commentlink_a_section_commentlink
+
+Additionally you need to specify the enforcement policy for git commits
+with regards to issue-tracker associations; the following values are supported:
+
+MANDATORY
+:	 One or more issue-ids are required in the git commit message, otherwise
+	 the git push will be rejected.
+
+SUGGESTED
+:	 Whenever git commit message does not contain one or more issue-ids,
+	 a warning message is displayed as a suggestion on the client.
+
+OPTIONAL
+:	 Issues-ids are liked when found on git commit message, no warning are
+	 displayed otherwise.
 
 Example:
 
     [commentLink "Jira"]
     match = (\\[[A-Z][A-Z]+-[1-9][0-9]*\\])
     html = "<a href=\"http://myjira.com/browse/$1\">$1</a>"
+    association = SUGGESTED
 
 Once a Git commit with a comment link is detected, the Jira issue ID
 is extracted and a new comment added to the issue, pointing back to
 the original Git commit.
 
 Jira connectivity
-----------------
+-----------------
 
-In order for Gerrit to connect to Jira, XML-RPC url and credentials
+In order for Gerrit to connect to Jira/SOAP-API url and credentials
 are required in your gerrit.config / secure.config under the [jira] section.
 
 Example:
 
     [jira]
+    url=http://myjira.com
     username=jirauser
     passsword=jirapass
-    rpcUrl=http://myjira.com/rpc/xmlrpc
+
+Jira credentials and connectivity details are asked and verified during the Gerrit init.
+
+Gerrit init integration
+-----------------------
+
+Jira plugin is integrated as a Gerrit init step in order to simplify and guide
+through the configuration of Jira integration and connectivity check, avoiding
+bogus settings to prevent Gerrit plugin to start correctly.
+
+Gerrit init example:
+
+    *** Jira connectivity
+    ***
+
+    Jira URL (empty to skip)       [http://jira.lmitsoftware.com]:
+    Jira username                  [admin]:
+    Change admin's password        [y/N]? y
+    admin's password               : *****
+                  confirm password : *****
+    Test connectivity to http://jira.lmitsoftware.com [N/?]: y
+    Checking Jira connectivity ... [OK]
+
+    *** Jira issue-tracking association
+    ***
+
+    Jira issue-Id regex            [([A-Z]+-[0-9]+)]:
+    Issue-id enforced in commit message [MANDATORY/?]: ?
+           Supported options are:
+           mandatory
+           suggested
+           optional
+    Issue-id enforced in commit message [MANDATORY/?]: suggested
 
 GitWeb integration
 ----------------
 
 When Gerrit gitweb is configured, an additional direct link from Jira to GitWeb
 will be created, pointing exactly to the Git commit ID containing the Jira issue ID.
+
+Issues workflow automation
+--------------------------
+
+Jira plugin is able to automate status transition on the issues based on
+code-review actions performed on Gerrit; actions are performed on Jira using
+the username/password provided during Gerrit init.
+Transition automation is driven by `$GERRIT_SITE/issue-state-transition.config` file.
+
+Syntax of the status transition configuration file is the following:
+
+    [action "<issue-status-action>"]
+    change=<change-action>
+    verified=<verified-value>
+    code-review=<code-review-value>
+
+`<issue-status-action>`
+:	Action to perform on Jira issue when all the condition in the stanza are met.
+
+`<change-action>`
+:	Action performed on Gerrit change-id, possible values are:
+	`created, commented, merged, abandoned, restored`
+
+`<verified-value>`
+:	Verified flag added on Gerrit with values from -1 to +1
+
+`<code-review-value>`
+:	Code-Review flag added on Gerrit with values from -2 to +2
+
+Note: multiple conditions in the action stanza are optional but at least one must be present.
+
+Example:
+
+    [action "Start Progress"]
+    change=created
+
+    [action "Resolve Issue"]
+    verified=+1
+    code-review=+2
+
+    [action "Close Issue"]
+    change=merged
+
+    [action "Stop Progress"]
+    change=abandoned
+
+The above example defines four status transition on Jira, based on the following conditions:
+
+* Whenever a new Change-set is created on Gerrit, start progress on the Jira issue
+* Whenever a change is verified and reviewed with +2, transition the Jira issue to resolved
+* Whenever a change is merged to branch, mark the Jira transition the Jira issue to closed
+* Whenever a change is abandoned, stop the progress on Jira issue
\ No newline at end of file
diff --git a/src/main/wsdl/jirasoapservice-v2.wsdl b/src/main/wsdl/jirasoapservice-v2.wsdl
new file mode 100644
index 0000000..682d811
--- /dev/null
+++ b/src/main/wsdl/jirasoapservice-v2.wsdl
@@ -0,0 +1,6925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" xmlns:intf="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://beans.soap.rpc.jira.atlassian.com" xmlns:tns2="http://exception.rpc.jira.atlassian.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<!--WSDL created by Apache Axis version: 1.3
+Built on Oct 05, 2005 (05:23:37 EDT)-->
+ <wsdl:types>
+  <schema targetNamespace="http://beans.soap.rpc.jira.atlassian.com" xmlns="http://www.w3.org/2001/XMLSchema">
+   <import namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2"/>
+   <import namespace="http://exception.rpc.jira.atlassian.com"/>
+   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+   <complexType name="RemoteComment">
+    <sequence>
+     <element name="author" nillable="true" type="xsd:string"/>
+     <element name="body" nillable="true" type="xsd:string"/>
+     <element name="created" nillable="true" type="xsd:dateTime"/>
+     <element name="groupLevel" nillable="true" type="xsd:string"/>
+     <element name="id" nillable="true" type="xsd:string"/>
+     <element name="roleLevel" nillable="true" type="xsd:string"/>
+     <element name="updateAuthor" nillable="true" type="xsd:string"/>
+     <element name="updated" nillable="true" type="xsd:dateTime"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteEntity">
+    <sequence/>
+   </complexType>
+   <complexType name="RemoteUser">
+    <complexContent>
+     <extension base="tns1:RemoteEntity">
+      <sequence>
+       <element name="email" nillable="true" type="xsd:string"/>
+       <element name="fullname" nillable="true" type="xsd:string"/>
+       <element name="name" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteGroup">
+    <complexContent>
+     <extension base="tns1:RemoteEntity">
+      <sequence>
+       <element name="name" nillable="true" type="xsd:string"/>
+       <element name="users" nillable="true" type="impl:ArrayOf_tns1_RemoteUser"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteTimeInfo">
+    <sequence>
+     <element name="serverTime" nillable="true" type="xsd:string"/>
+     <element name="timeZoneId" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteServerInfo">
+    <sequence>
+     <element name="baseUrl" nillable="true" type="xsd:string"/>
+     <element name="buildDate" nillable="true" type="xsd:dateTime"/>
+     <element name="buildNumber" nillable="true" type="xsd:string"/>
+     <element name="edition" nillable="true" type="xsd:string"/>
+     <element name="serverTime" nillable="true" type="tns1:RemoteTimeInfo"/>
+     <element name="version" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType abstract="true" name="AbstractRemoteEntity">
+    <sequence>
+     <element name="id" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType abstract="true" name="AbstractNamedRemoteEntity">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteEntity">
+      <sequence>
+       <element name="name" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteComponent">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteVersion">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence>
+       <element name="archived" type="xsd:boolean"/>
+       <element name="releaseDate" nillable="true" type="xsd:dateTime"/>
+       <element name="released" type="xsd:boolean"/>
+       <element name="sequence" nillable="true" type="xsd:long"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteCustomFieldValue">
+    <sequence>
+     <element name="customfieldId" nillable="true" type="xsd:string"/>
+     <element name="key" nillable="true" type="xsd:string"/>
+     <element name="values" nillable="true" type="impl:ArrayOf_xsd_string"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteIssue">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteEntity">
+      <sequence>
+       <element name="affectsVersions" nillable="true" type="impl:ArrayOf_tns1_RemoteVersion"/>
+       <element name="assignee" nillable="true" type="xsd:string"/>
+       <element name="attachmentNames" nillable="true" type="impl:ArrayOf_xsd_string"/>
+       <element name="components" nillable="true" type="impl:ArrayOf_tns1_RemoteComponent"/>
+       <element name="created" nillable="true" type="xsd:dateTime"/>
+       <element name="customFieldValues" nillable="true" type="impl:ArrayOf_tns1_RemoteCustomFieldValue"/>
+       <element name="description" nillable="true" type="xsd:string"/>
+       <element name="duedate" nillable="true" type="xsd:dateTime"/>
+       <element name="environment" nillable="true" type="xsd:string"/>
+       <element name="fixVersions" nillable="true" type="impl:ArrayOf_tns1_RemoteVersion"/>
+       <element name="key" nillable="true" type="xsd:string"/>
+       <element name="priority" nillable="true" type="xsd:string"/>
+       <element name="project" nillable="true" type="xsd:string"/>
+       <element name="reporter" nillable="true" type="xsd:string"/>
+       <element name="resolution" nillable="true" type="xsd:string"/>
+       <element name="status" nillable="true" type="xsd:string"/>
+       <element name="summary" nillable="true" type="xsd:string"/>
+       <element name="type" nillable="true" type="xsd:string"/>
+       <element name="updated" nillable="true" type="xsd:dateTime"/>
+       <element name="votes" nillable="true" type="xsd:long"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteNamedObject">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteConfiguration">
+    <sequence>
+     <element name="allowAttachments" type="xsd:boolean"/>
+     <element name="allowExternalUserManagment" type="xsd:boolean"/>
+     <element name="allowIssueLinking" type="xsd:boolean"/>
+     <element name="allowSubTasks" type="xsd:boolean"/>
+     <element name="allowTimeTracking" type="xsd:boolean"/>
+     <element name="allowUnassignedIssues" type="xsd:boolean"/>
+     <element name="allowVoting" type="xsd:boolean"/>
+     <element name="allowWatching" type="xsd:boolean"/>
+     <element name="timeTrackingDaysPerWeek" type="xsd:int"/>
+     <element name="timeTrackingHoursPerDay" type="xsd:int"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteScheme">
+    <sequence>
+     <element name="description" nillable="true" type="xsd:string"/>
+     <element name="id" nillable="true" type="xsd:long"/>
+     <element name="name" nillable="true" type="xsd:string"/>
+     <element name="type" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemotePermission">
+    <sequence>
+     <element name="name" nillable="true" type="xsd:string"/>
+     <element name="permission" nillable="true" type="xsd:long"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemotePermissionMapping">
+    <sequence>
+     <element name="permission" nillable="true" type="tns1:RemotePermission"/>
+     <element name="remoteEntities" nillable="true" type="impl:ArrayOf_tns1_RemoteEntity"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemotePermissionScheme">
+    <complexContent>
+     <extension base="tns1:RemoteScheme">
+      <sequence>
+       <element name="permissionMappings" nillable="true" type="impl:ArrayOf_tns1_RemotePermissionMapping"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteProject">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence>
+       <element name="description" nillable="true" type="xsd:string"/>
+       <element name="issueSecurityScheme" nillable="true" type="tns1:RemoteScheme"/>
+       <element name="key" nillable="true" type="xsd:string"/>
+       <element name="lead" nillable="true" type="xsd:string"/>
+       <element name="notificationScheme" nillable="true" type="tns1:RemoteScheme"/>
+       <element name="permissionScheme" nillable="true" type="tns1:RemotePermissionScheme"/>
+       <element name="projectUrl" nillable="true" type="xsd:string"/>
+       <element name="url" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType abstract="true" name="AbstractRemoteConstant">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence>
+       <element name="description" nillable="true" type="xsd:string"/>
+       <element name="icon" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemotePriority">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteConstant">
+      <sequence>
+       <element name="color" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteResolution">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteConstant">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteIssueType">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteConstant">
+      <sequence>
+       <element name="subTask" type="xsd:boolean"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteStatus">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteConstant">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteProjectRole">
+    <sequence>
+     <element name="description" nillable="true" type="xsd:string"/>
+     <element name="id" nillable="true" type="xsd:long"/>
+     <element name="name" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteRoleActor">
+    <sequence>
+     <element name="descriptor" nillable="true" type="xsd:string"/>
+     <element name="parameter" nillable="true" type="xsd:string"/>
+     <element name="projectRole" nillable="true" type="tns1:RemoteProjectRole"/>
+     <element name="type" nillable="true" type="xsd:string"/>
+     <element name="users" nillable="true" type="impl:ArrayOf_tns1_RemoteUser"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteRoleActors">
+    <sequence>
+     <element name="projectRole" nillable="true" type="tns1:RemoteProjectRole"/>
+     <element name="roleActors" nillable="true" type="impl:ArrayOf_tns1_RemoteRoleActor"/>
+     <element name="users" nillable="true" type="impl:ArrayOf_tns1_RemoteUser"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteProjectRoleActors">
+    <complexContent>
+     <extension base="tns1:RemoteRoleActors">
+      <sequence>
+       <element name="project" nillable="true" type="tns1:RemoteProject"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteField">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteFilter">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence>
+       <element name="author" nillable="true" type="xsd:string"/>
+       <element name="description" nillable="true" type="xsd:string"/>
+       <element name="project" nillable="true" type="xsd:string"/>
+       <element name="xml" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteFieldValue">
+    <sequence>
+     <element name="id" nillable="true" type="xsd:string"/>
+     <element name="values" nillable="true" type="impl:ArrayOf_xsd_string"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteSecurityLevel">
+    <complexContent>
+     <extension base="tns1:AbstractNamedRemoteEntity">
+      <sequence>
+       <element name="description" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteAvatar">
+    <sequence>
+     <element name="base64Data" nillable="true" type="xsd:string"/>
+     <element name="contentType" nillable="true" type="xsd:string"/>
+     <element name="id" type="xsd:long"/>
+     <element name="owner" nillable="true" type="xsd:string"/>
+     <element name="system" type="xsd:boolean"/>
+     <element name="type" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="RemoteAttachment">
+    <complexContent>
+     <extension base="tns1:AbstractRemoteEntity">
+      <sequence>
+       <element name="author" nillable="true" type="xsd:string"/>
+       <element name="created" nillable="true" type="xsd:dateTime"/>
+       <element name="filename" nillable="true" type="xsd:string"/>
+       <element name="filesize" nillable="true" type="xsd:long"/>
+       <element name="mimetype" nillable="true" type="xsd:string"/>
+      </sequence>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteWorklog">
+    <sequence>
+     <element name="author" nillable="true" type="xsd:string"/>
+     <element name="comment" nillable="true" type="xsd:string"/>
+     <element name="created" nillable="true" type="xsd:dateTime"/>
+     <element name="groupLevel" nillable="true" type="xsd:string"/>
+     <element name="id" nillable="true" type="xsd:string"/>
+     <element name="roleLevelId" nillable="true" type="xsd:string"/>
+     <element name="startDate" nillable="true" type="xsd:dateTime"/>
+     <element name="timeSpent" nillable="true" type="xsd:string"/>
+     <element name="timeSpentInSeconds" type="xsd:long"/>
+     <element name="updateAuthor" nillable="true" type="xsd:string"/>
+     <element name="updated" nillable="true" type="xsd:dateTime"/>
+    </sequence>
+   </complexType>
+  </schema>
+  <schema targetNamespace="http://exception.rpc.jira.atlassian.com" xmlns="http://www.w3.org/2001/XMLSchema">
+   <import namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2"/>
+   <import namespace="http://beans.soap.rpc.jira.atlassian.com"/>
+   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+   <complexType name="RemoteException">
+    <sequence/>
+   </complexType>
+   <complexType name="RemoteValidationException">
+    <complexContent>
+     <extension base="tns2:RemoteException">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemotePermissionException">
+    <complexContent>
+     <extension base="tns2:RemoteException">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+   <complexType name="RemoteAuthenticationException">
+    <complexContent>
+     <extension base="tns2:RemoteException">
+      <sequence/>
+     </extension>
+    </complexContent>
+   </complexType>
+  </schema>
+  <schema targetNamespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" xmlns="http://www.w3.org/2001/XMLSchema">
+   <import namespace="http://beans.soap.rpc.jira.atlassian.com"/>
+   <import namespace="http://exception.rpc.jira.atlassian.com"/>
+   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+   <complexType name="ArrayOf_tns1_RemoteUser">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteUser[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteComponent">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteComponent[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteVersion">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteVersion[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_xsd_string">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteCustomFieldValue">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteCustomFieldValue[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteNamedObject">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteNamedObject[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteEntity">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteEntity[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemotePermissionMapping">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemotePermissionMapping[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemotePriority">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemotePriority[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteResolution">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteResolution[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteIssueType">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteIssueType[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteStatus">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteStatus[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteProjectRole">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteProjectRole[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteRoleActor">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteRoleActor[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteScheme">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteScheme[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteField">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteField[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteComment">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteComment[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteFilter">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteFilter[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteFieldValue">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteFieldValue[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteSecurityLevel">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteSecurityLevel[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteAvatar">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteAvatar[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemotePermissionScheme">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemotePermissionScheme[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemotePermission">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemotePermission[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_xsd_base64Binary">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:byte[][]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteAttachment">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteAttachment[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteWorklog">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteWorklog[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteIssue">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteIssue[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+   <complexType name="ArrayOf_tns1_RemoteProject">
+    <complexContent>
+     <restriction base="soapenc:Array">
+      <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:RemoteProject[]"/>
+     </restriction>
+    </complexContent>
+   </complexType>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="createIssueWithSecurityLevelRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteIssue"/>
+
+      <wsdl:part name="in2" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addPermissionToRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemotePermissionScheme"/>
+
+      <wsdl:part name="in2" type="tns1:RemotePermission"/>
+
+      <wsdl:part name="in3" type="tns1:RemoteEntity"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectWithSchemesByIdResponse">
+
+      <wsdl:part name="getProjectWithSchemesByIdReturn" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getNotificationSchemesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSecuritySchemesResponse">
+
+      <wsdl:part name="getSecuritySchemesReturn" type="impl:ArrayOf_tns1_RemoteScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueByIdRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addActorsToProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteProjectRole"/>
+
+      <wsdl:part name="in3" type="tns1:RemoteProject"/>
+
+      <wsdl:part name="in4" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="setProjectAvatarResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="createIssueResponse">
+
+      <wsdl:part name="createIssueReturn" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectRoleActorsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateProjectRoleResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromJqlSearchRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteGroupRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getVersionsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getUserResponse">
+
+      <wsdl:part name="getUserReturn" type="tns1:RemoteUser"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addUserToGroupRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteGroup"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteUser"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSavedFiltersRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createPermissionSchemeRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectRolesResponse">
+
+      <wsdl:part name="getProjectRolesReturn" type="impl:ArrayOf_tns1_RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectRoleActorsResponse">
+
+      <wsdl:part name="getProjectRoleActorsReturn" type="tns1:RemoteProjectRoleActors"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteWorklogAndRetainRemainingEstimateResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="removeAllRoleActorsByProjectResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueCountForFilterRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getWorklogsResponse">
+
+      <wsdl:part name="getWorklogsReturn" type="impl:ArrayOf_tns1_RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addDefaultActorsToProjectRoleResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectAvatarRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getCommentsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+      <wsdl:part name="in2" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="setNewProjectAvatarResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getDefaultRoleActorsResponse">
+
+      <wsdl:part name="getDefaultRoleActorsReturn" type="tns1:RemoteRoleActors"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAvailableActionsResponse">
+
+      <wsdl:part name="getAvailableActionsReturn" type="impl:ArrayOf_tns1_RemoteNamedObject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="impl:ArrayOf_tns1_RemoteFieldValue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromFilterWithLimitResponse">
+
+      <wsdl:part name="getIssuesFromFilterWithLimitReturn" type="impl:ArrayOf_tns1_RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeActorsFromProjectRoleResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromTextSearchResponse">
+
+      <wsdl:part name="getIssuesFromTextSearchReturn" type="impl:ArrayOf_tns1_RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="editCommentRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteComment"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createGroupRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteUser"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToUpdateWorklogResponse">
+
+      <wsdl:part name="hasPermissionToUpdateWorklogReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeAllRoleActorsByProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteUserResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getAttachmentsFromIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectsNoSchemesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromFilterRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getCommentRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteGroupResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="addBase64EncodedAttachmentsToIssueResponse">
+
+      <wsdl:part name="addBase64EncodedAttachmentsToIssueReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getNotificationSchemesResponse">
+
+      <wsdl:part name="getNotificationSchemesReturn" type="impl:ArrayOf_tns1_RemoteScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromTextSearchWithProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+      <wsdl:part name="in3" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToDeleteWorklogResponse">
+
+      <wsdl:part name="hasPermissionToDeleteWorklogReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeUserFromGroupResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="deletePermissionFromRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemotePermissionScheme"/>
+
+      <wsdl:part name="in2" type="tns1:RemotePermission"/>
+
+      <wsdl:part name="in3" type="tns1:RemoteEntity"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getPrioritiesResponse">
+
+      <wsdl:part name="getPrioritiesReturn" type="impl:ArrayOf_tns1_RemotePriority"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectAvatarsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addWorklogWithNewRemainingEstimateResponse">
+
+      <wsdl:part name="addWorklogWithNewRemainingEstimateReturn" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteUserRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createPermissionSchemeResponse">
+
+      <wsdl:part name="createPermissionSchemeReturn" type="tns1:RemotePermissionScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addVersionRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteVersion"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addDefaultActorsToProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteProjectRole"/>
+
+      <wsdl:part name="in3" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addWorklogAndAutoAdjustRemainingEstimateResponse">
+
+      <wsdl:part name="addWorklogAndAutoAdjustRemainingEstimateReturn" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToCreateWorklogRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromTextSearchWithLimitResponse">
+
+      <wsdl:part name="getIssuesFromTextSearchWithLimitReturn" type="impl:ArrayOf_tns1_RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="releaseVersionResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="logoutResponse">
+
+      <wsdl:part name="logoutReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromJqlSearchResponse">
+
+      <wsdl:part name="getIssuesFromJqlSearchReturn" type="impl:ArrayOf_tns1_RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStatusesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addWorklogAndRetainRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectAvatarResponse">
+
+      <wsdl:part name="getProjectAvatarReturn" type="tns1:RemoteAvatar"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromTextSearchWithLimitRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:int"/>
+
+      <wsdl:part name="in3" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSecurityLevelRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSavedFiltersResponse">
+
+      <wsdl:part name="getSavedFiltersReturn" type="impl:ArrayOf_tns1_RemoteFilter"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSecurityLevelsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAllPermissionsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="refreshCustomFieldsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="RemotePermissionException">
+
+      <wsdl:part name="fault" type="tns2:RemotePermissionException"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getFavouriteFiltersResponse">
+
+      <wsdl:part name="getFavouriteFiltersReturn" type="impl:ArrayOf_tns1_RemoteFilter"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteProjectRoleResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="removeDefaultActorsFromProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteProjectRole"/>
+
+      <wsdl:part name="in3" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getConfigurationResponse">
+
+      <wsdl:part name="getConfigurationReturn" type="tns1:RemoteConfiguration"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteProjectAvatarRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="archiveVersionResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectRolesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSubTaskIssueTypesForProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addWorklogAndAutoAdjustRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAssociatedNotificationSchemesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromFilterWithLimitRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:int"/>
+
+      <wsdl:part name="in3" type="xsd:int"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getFieldsForActionRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeAllRoleActorsByNameAndTypeRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromTextSearchRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deletePermissionSchemeResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="setNewProjectAvatarRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+      <wsdl:part name="in3" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateWorklogWithNewRemainingEstimateResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getFieldsForEditRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="refreshCustomFieldsResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getSubTaskIssueTypesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addWorklogAndRetainRemainingEstimateResponse">
+
+      <wsdl:part name="addWorklogAndRetainRemainingEstimateReturn" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromFilterResponse">
+
+      <wsdl:part name="getIssuesFromFilterReturn" type="impl:ArrayOf_tns1_RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeUserFromGroupRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteGroup"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteUser"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateWorklogAndAutoAdjustRemainingEstimateResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteWorklogWithNewRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectByKeyResponse">
+
+      <wsdl:part name="getProjectByKeyReturn" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getDefaultRoleActorsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getResolutionsResponse">
+
+      <wsdl:part name="getResolutionsReturn" type="impl:ArrayOf_tns1_RemoteResolution"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createUserRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+      <wsdl:part name="in3" type="xsd:string"/>
+
+      <wsdl:part name="in4" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getPermissionSchemesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueTypesForProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getStatusesResponse">
+
+      <wsdl:part name="getStatusesReturn" type="impl:ArrayOf_tns1_RemoteStatus"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAttachmentsFromIssueResponse">
+
+      <wsdl:part name="getAttachmentsFromIssueReturn" type="impl:ArrayOf_tns1_RemoteAttachment"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSecurityLevelsResponse">
+
+      <wsdl:part name="getSecurityLevelsReturn" type="impl:ArrayOf_tns1_RemoteSecurityLevel"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSecuritySchemesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="RemoteValidationException">
+
+      <wsdl:part name="fault" type="tns2:RemoteValidationException"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSubTaskIssueTypesResponse">
+
+      <wsdl:part name="getSubTaskIssueTypesReturn" type="impl:ArrayOf_tns1_RemoteIssueType"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addBase64EncodedAttachmentsToIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in3" type="impl:ArrayOf_xsd_string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectByIdRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteProjectAvatarResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getGroupRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssuesFromTextSearchWithProjectResponse">
+
+      <wsdl:part name="getIssuesFromTextSearchWithProjectReturn" type="impl:ArrayOf_tns1_RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAssociatedPermissionSchemesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateWorklogAndRetainRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getWorklogsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeActorsFromProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteProjectRole"/>
+
+      <wsdl:part name="in3" type="tns1:RemoteProject"/>
+
+      <wsdl:part name="in4" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createProjectRoleResponse">
+
+      <wsdl:part name="createProjectRoleReturn" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="isProjectRoleNameUniqueResponse">
+
+      <wsdl:part name="isProjectRoleNameUniqueReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createUserResponse">
+
+      <wsdl:part name="createUserReturn" type="tns1:RemoteUser"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAvailableActionsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addPermissionToResponse">
+
+      <wsdl:part name="addPermissionToReturn" type="tns1:RemotePermissionScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateWorklogWithNewRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteWorklog"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getFieldsForEditResponse">
+
+      <wsdl:part name="getFieldsForEditReturn" type="impl:ArrayOf_tns1_RemoteField"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateGroupResponse">
+
+      <wsdl:part name="updateGroupReturn" type="tns1:RemoteGroup"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToEditCommentRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteComment"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueByIdResponse">
+
+      <wsdl:part name="getIssueByIdReturn" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAssociatedPermissionSchemesResponse">
+
+      <wsdl:part name="getAssociatedPermissionSchemesReturn" type="impl:ArrayOf_tns1_RemoteScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToUpdateWorklogRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getGroupResponse">
+
+      <wsdl:part name="getGroupReturn" type="tns1:RemoteGroup"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteWorklogAndRetainRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="progressWorkflowActionResponse">
+
+      <wsdl:part name="progressWorkflowActionReturn" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getPermissionSchemesResponse">
+
+      <wsdl:part name="getPermissionSchemesReturn" type="impl:ArrayOf_tns1_RemotePermissionScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getFieldsForActionResponse">
+
+      <wsdl:part name="getFieldsForActionReturn" type="impl:ArrayOf_tns1_RemoteField"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAllPermissionsResponse">
+
+      <wsdl:part name="getAllPermissionsReturn" type="impl:ArrayOf_tns1_RemotePermission"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="progressWorkflowActionRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+      <wsdl:part name="in3" type="impl:ArrayOf_tns1_RemoteFieldValue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createProjectResponse">
+
+      <wsdl:part name="createProjectReturn" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deletePermissionFromResponse">
+
+      <wsdl:part name="deletePermissionFromReturn" type="tns1:RemotePermissionScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToEditCommentResponse">
+
+      <wsdl:part name="hasPermissionToEditCommentReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getUserRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="loginResponse">
+
+      <wsdl:part name="loginReturn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getConfigurationRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createIssueWithSecurityLevelResponse">
+
+      <wsdl:part name="createIssueWithSecurityLevelReturn" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteWorklogAndAutoAdjustRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAssociatedNotificationSchemesResponse">
+
+      <wsdl:part name="getAssociatedNotificationSchemesReturn" type="impl:ArrayOf_tns1_RemoteScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectWithSchemesByIdRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectByIdResponse">
+
+      <wsdl:part name="getProjectByIdReturn" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="editCommentResponse">
+
+      <wsdl:part name="editCommentReturn" type="tns1:RemoteComment"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getPrioritiesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateProjectRoleRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueTypesRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateProjectResponse">
+
+      <wsdl:part name="updateProjectReturn" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectRoleResponse">
+
+      <wsdl:part name="getProjectRoleReturn" type="tns1:RemoteProjectRole"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getServerInfoRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteWorklogWithNewRemainingEstimateResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getVersionsResponse">
+
+      <wsdl:part name="getVersionsReturn" type="impl:ArrayOf_tns1_RemoteVersion"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteIssueResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="createProjectFromObjectResponse">
+
+      <wsdl:part name="createProjectFromObjectReturn" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="removeAllRoleActorsByNameAndTypeResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="updateWorklogAndRetainRemainingEstimateResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="releaseVersionRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteVersion"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateWorklogAndAutoAdjustRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteWorklog"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addCommentResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getFavouriteFiltersRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="setProjectAvatarRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getCustomFieldsResponse">
+
+      <wsdl:part name="getCustomFieldsReturn" type="impl:ArrayOf_tns1_RemoteField"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deletePermissionSchemeRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getResolutionDateByIdResponse">
+
+      <wsdl:part name="getResolutionDateByIdReturn" type="xsd:dateTime"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueTypesForProjectResponse">
+
+      <wsdl:part name="getIssueTypesForProjectReturn" type="impl:ArrayOf_tns1_RemoteIssueType"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addVersionResponse">
+
+      <wsdl:part name="addVersionReturn" type="tns1:RemoteVersion"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteWorklogAndAutoAdjustRemainingEstimateResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="removeDefaultActorsFromProjectRoleResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="addWorklogWithNewRemainingEstimateRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteWorklog"/>
+
+      <wsdl:part name="in3" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSubTaskIssueTypesForProjectResponse">
+
+      <wsdl:part name="getSubTaskIssueTypesForProjectReturn" type="impl:ArrayOf_tns1_RemoteIssueType"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToCreateWorklogResponse">
+
+      <wsdl:part name="hasPermissionToCreateWorklogReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createProjectFromObjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="RemoteException">
+
+      <wsdl:part name="fault" type="tns2:RemoteException"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="deleteProjectResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getCustomFieldsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="loginRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectByKeyRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getSecurityLevelResponse">
+
+      <wsdl:part name="getSecurityLevelReturn" type="tns1:RemoteSecurityLevel"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getServerInfoResponse">
+
+      <wsdl:part name="getServerInfoReturn" type="tns1:RemoteServerInfo"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getCommentResponse">
+
+      <wsdl:part name="getCommentReturn" type="tns1:RemoteComment"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueCountForFilterResponse">
+
+      <wsdl:part name="getIssueCountForFilterReturn" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getComponentsResponse">
+
+      <wsdl:part name="getComponentsReturn" type="impl:ArrayOf_tns1_RemoteComponent"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateIssueResponse">
+
+      <wsdl:part name="updateIssueReturn" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="isProjectRoleNameUniqueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addAttachmentsToIssueResponse">
+
+      <wsdl:part name="addAttachmentsToIssueReturn" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addCommentRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="tns1:RemoteComment"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="hasPermissionToDeleteWorklogRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueTypesResponse">
+
+      <wsdl:part name="getIssueTypesReturn" type="impl:ArrayOf_tns1_RemoteIssueType"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createGroupResponse">
+
+      <wsdl:part name="createGroupReturn" type="tns1:RemoteGroup"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addAttachmentsToIssueRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="impl:ArrayOf_xsd_string"/>
+
+      <wsdl:part name="in3" type="impl:ArrayOf_xsd_base64Binary"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="RemoteAuthenticationException">
+
+      <wsdl:part name="fault" type="tns2:RemoteAuthenticationException"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createProjectRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+      <wsdl:part name="in3" type="xsd:string"/>
+
+      <wsdl:part name="in4" type="xsd:string"/>
+
+      <wsdl:part name="in5" type="xsd:string"/>
+
+      <wsdl:part name="in6" type="tns1:RemotePermissionScheme"/>
+
+      <wsdl:part name="in7" type="tns1:RemoteScheme"/>
+
+      <wsdl:part name="in8" type="tns1:RemoteScheme"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="logoutRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getResolutionsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addActorsToProjectRoleResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getResolutionDateByIdRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:long"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getResolutionDateByKeyRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getComponentsRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="archiveVersionRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="xsd:string"/>
+
+      <wsdl:part name="in2" type="xsd:string"/>
+
+      <wsdl:part name="in3" type="xsd:boolean"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getResolutionDateByKeyResponse">
+
+      <wsdl:part name="getResolutionDateByKeyReturn" type="xsd:dateTime"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="addUserToGroupResponse">
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectAvatarsResponse">
+
+      <wsdl:part name="getProjectAvatarsReturn" type="impl:ArrayOf_tns1_RemoteAvatar"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getIssueResponse">
+
+      <wsdl:part name="getIssueReturn" type="tns1:RemoteIssue"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getProjectsNoSchemesResponse">
+
+      <wsdl:part name="getProjectsNoSchemesReturn" type="impl:ArrayOf_tns1_RemoteProject"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateGroupRequest">
+
+      <wsdl:part name="in0" type="xsd:string"/>
+
+      <wsdl:part name="in1" type="tns1:RemoteGroup"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getCommentsResponse">
+
+      <wsdl:part name="getCommentsReturn" type="impl:ArrayOf_tns1_RemoteComment"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="JiraSoapService">
+
+      <wsdl:operation name="getComment" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getCommentRequest" name="getCommentRequest"/>
+
+         <wsdl:output message="impl:getCommentResponse" name="getCommentResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createGroup" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:createGroupRequest" name="createGroupRequest"/>
+
+         <wsdl:output message="impl:createGroupResponse" name="createGroupResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getServerInfo" parameterOrder="in0">
+
+         <wsdl:input message="impl:getServerInfoRequest" name="getServerInfoRequest"/>
+
+         <wsdl:output message="impl:getServerInfoResponse" name="getServerInfoResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getGroup" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getGroupRequest" name="getGroupRequest"/>
+
+         <wsdl:output message="impl:getGroupResponse" name="getGroupResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="login" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:loginRequest" name="loginRequest"/>
+
+         <wsdl:output message="impl:loginResponse" name="loginResponse"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="logout" parameterOrder="in0">
+
+         <wsdl:input message="impl:logoutRequest" name="logoutRequest"/>
+
+         <wsdl:output message="impl:logoutResponse" name="logoutResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getUser" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getUserRequest" name="getUserRequest"/>
+
+         <wsdl:output message="impl:getUserResponse" name="getUserResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createUser" parameterOrder="in0 in1 in2 in3 in4">
+
+         <wsdl:input message="impl:createUserRequest" name="createUserRequest"/>
+
+         <wsdl:output message="impl:createUserResponse" name="createUserResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getComponents" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getComponentsRequest" name="getComponentsRequest"/>
+
+         <wsdl:output message="impl:getComponentsResponse" name="getComponentsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssue" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getIssueRequest" name="getIssueRequest"/>
+
+         <wsdl:output message="impl:getIssueResponse" name="getIssueResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createIssue" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:createIssueRequest" name="createIssueRequest"/>
+
+         <wsdl:output message="impl:createIssueResponse" name="createIssueResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAvailableActions" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getAvailableActionsRequest" name="getAvailableActionsRequest"/>
+
+         <wsdl:output message="impl:getAvailableActionsResponse" name="getAvailableActionsResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getConfiguration" parameterOrder="in0">
+
+         <wsdl:input message="impl:getConfigurationRequest" name="getConfigurationRequest"/>
+
+         <wsdl:output message="impl:getConfigurationResponse" name="getConfigurationResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createProject" parameterOrder="in0 in1 in2 in3 in4 in5 in6 in7 in8">
+
+         <wsdl:input message="impl:createProjectRequest" name="createProjectRequest"/>
+
+         <wsdl:output message="impl:createProjectResponse" name="createProjectResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateProject" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:updateProjectRequest" name="updateProjectRequest"/>
+
+         <wsdl:output message="impl:updateProjectResponse" name="updateProjectResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectByKey" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getProjectByKeyRequest" name="getProjectByKeyRequest"/>
+
+         <wsdl:output message="impl:getProjectByKeyResponse" name="getProjectByKeyResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeAllRoleActorsByProject" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:removeAllRoleActorsByProjectRequest" name="removeAllRoleActorsByProjectRequest"/>
+
+         <wsdl:output message="impl:removeAllRoleActorsByProjectResponse" name="removeAllRoleActorsByProjectResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPriorities" parameterOrder="in0">
+
+         <wsdl:input message="impl:getPrioritiesRequest" name="getPrioritiesRequest"/>
+
+         <wsdl:output message="impl:getPrioritiesResponse" name="getPrioritiesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getResolutions" parameterOrder="in0">
+
+         <wsdl:input message="impl:getResolutionsRequest" name="getResolutionsRequest"/>
+
+         <wsdl:output message="impl:getResolutionsResponse" name="getResolutionsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueTypes" parameterOrder="in0">
+
+         <wsdl:input message="impl:getIssueTypesRequest" name="getIssueTypesRequest"/>
+
+         <wsdl:output message="impl:getIssueTypesResponse" name="getIssueTypesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSubTaskIssueTypes" parameterOrder="in0">
+
+         <wsdl:input message="impl:getSubTaskIssueTypesRequest" name="getSubTaskIssueTypesRequest"/>
+
+         <wsdl:output message="impl:getSubTaskIssueTypesResponse" name="getSubTaskIssueTypesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getStatuses" parameterOrder="in0">
+
+         <wsdl:input message="impl:getStatusesRequest" name="getStatusesRequest"/>
+
+         <wsdl:output message="impl:getStatusesResponse" name="getStatusesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectRoles" parameterOrder="in0">
+
+         <wsdl:input message="impl:getProjectRolesRequest" name="getProjectRolesRequest"/>
+
+         <wsdl:output message="impl:getProjectRolesResponse" name="getProjectRolesResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectRole" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getProjectRoleRequest" name="getProjectRoleRequest"/>
+
+         <wsdl:output message="impl:getProjectRoleResponse" name="getProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectRoleActors" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:getProjectRoleActorsRequest" name="getProjectRoleActorsRequest"/>
+
+         <wsdl:output message="impl:getProjectRoleActorsResponse" name="getProjectRoleActorsResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getDefaultRoleActors" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getDefaultRoleActorsRequest" name="getDefaultRoleActorsRequest"/>
+
+         <wsdl:output message="impl:getDefaultRoleActorsResponse" name="getDefaultRoleActorsResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeAllRoleActorsByNameAndType" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:removeAllRoleActorsByNameAndTypeRequest" name="removeAllRoleActorsByNameAndTypeRequest"/>
+
+         <wsdl:output message="impl:removeAllRoleActorsByNameAndTypeResponse" name="removeAllRoleActorsByNameAndTypeResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteProjectRole" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:deleteProjectRoleRequest" name="deleteProjectRoleRequest"/>
+
+         <wsdl:output message="impl:deleteProjectRoleResponse" name="deleteProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateProjectRole" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:updateProjectRoleRequest" name="updateProjectRoleRequest"/>
+
+         <wsdl:output message="impl:updateProjectRoleResponse" name="updateProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createProjectRole" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:createProjectRoleRequest" name="createProjectRoleRequest"/>
+
+         <wsdl:output message="impl:createProjectRoleResponse" name="createProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="isProjectRoleNameUnique" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:isProjectRoleNameUniqueRequest" name="isProjectRoleNameUniqueRequest"/>
+
+         <wsdl:output message="impl:isProjectRoleNameUniqueResponse" name="isProjectRoleNameUniqueResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addActorsToProjectRole" parameterOrder="in0 in1 in2 in3 in4">
+
+         <wsdl:input message="impl:addActorsToProjectRoleRequest" name="addActorsToProjectRoleRequest"/>
+
+         <wsdl:output message="impl:addActorsToProjectRoleResponse" name="addActorsToProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeActorsFromProjectRole" parameterOrder="in0 in1 in2 in3 in4">
+
+         <wsdl:input message="impl:removeActorsFromProjectRoleRequest" name="removeActorsFromProjectRoleRequest"/>
+
+         <wsdl:output message="impl:removeActorsFromProjectRoleResponse" name="removeActorsFromProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addDefaultActorsToProjectRole" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:addDefaultActorsToProjectRoleRequest" name="addDefaultActorsToProjectRoleRequest"/>
+
+         <wsdl:output message="impl:addDefaultActorsToProjectRoleResponse" name="addDefaultActorsToProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeDefaultActorsFromProjectRole" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:removeDefaultActorsFromProjectRoleRequest" name="removeDefaultActorsFromProjectRoleRequest"/>
+
+         <wsdl:output message="impl:removeDefaultActorsFromProjectRoleResponse" name="removeDefaultActorsFromProjectRoleResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAssociatedNotificationSchemes" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getAssociatedNotificationSchemesRequest" name="getAssociatedNotificationSchemesRequest"/>
+
+         <wsdl:output message="impl:getAssociatedNotificationSchemesResponse" name="getAssociatedNotificationSchemesResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAssociatedPermissionSchemes" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getAssociatedPermissionSchemesRequest" name="getAssociatedPermissionSchemesRequest"/>
+
+         <wsdl:output message="impl:getAssociatedPermissionSchemesResponse" name="getAssociatedPermissionSchemesResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteProject" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deleteProjectRequest" name="deleteProjectRequest"/>
+
+         <wsdl:output message="impl:deleteProjectResponse" name="deleteProjectResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectById" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getProjectByIdRequest" name="getProjectByIdRequest"/>
+
+         <wsdl:output message="impl:getProjectByIdResponse" name="getProjectByIdResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getVersions" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getVersionsRequest" name="getVersionsRequest"/>
+
+         <wsdl:output message="impl:getVersionsResponse" name="getVersionsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getCustomFields" parameterOrder="in0">
+
+         <wsdl:input message="impl:getCustomFieldsRequest" name="getCustomFieldsRequest"/>
+
+         <wsdl:output message="impl:getCustomFieldsResponse" name="getCustomFieldsResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getComments" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getCommentsRequest" name="getCommentsRequest"/>
+
+         <wsdl:output message="impl:getCommentsResponse" name="getCommentsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getFavouriteFilters" parameterOrder="in0">
+
+         <wsdl:input message="impl:getFavouriteFiltersRequest" name="getFavouriteFiltersRequest"/>
+
+         <wsdl:output message="impl:getFavouriteFiltersResponse" name="getFavouriteFiltersResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="releaseVersion" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:releaseVersionRequest" name="releaseVersionRequest"/>
+
+         <wsdl:output message="impl:releaseVersionResponse" name="releaseVersionResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="archiveVersion" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:archiveVersionRequest" name="archiveVersionRequest"/>
+
+         <wsdl:output message="impl:archiveVersionResponse" name="archiveVersionResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateIssue" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:updateIssueRequest" name="updateIssueRequest"/>
+
+         <wsdl:output message="impl:updateIssueResponse" name="updateIssueResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getFieldsForEdit" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getFieldsForEditRequest" name="getFieldsForEditRequest"/>
+
+         <wsdl:output message="impl:getFieldsForEditResponse" name="getFieldsForEditResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueTypesForProject" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getIssueTypesForProjectRequest" name="getIssueTypesForProjectRequest"/>
+
+         <wsdl:output message="impl:getIssueTypesForProjectResponse" name="getIssueTypesForProjectResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSubTaskIssueTypesForProject" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getSubTaskIssueTypesForProjectRequest" name="getSubTaskIssueTypesForProjectRequest"/>
+
+         <wsdl:output message="impl:getSubTaskIssueTypesForProjectResponse" name="getSubTaskIssueTypesForProjectResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addUserToGroup" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:addUserToGroupRequest" name="addUserToGroupRequest"/>
+
+         <wsdl:output message="impl:addUserToGroupResponse" name="addUserToGroupResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeUserFromGroup" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:removeUserFromGroupRequest" name="removeUserFromGroupRequest"/>
+
+         <wsdl:output message="impl:removeUserFromGroupResponse" name="removeUserFromGroupResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSecurityLevel" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getSecurityLevelRequest" name="getSecurityLevelRequest"/>
+
+         <wsdl:output message="impl:getSecurityLevelResponse" name="getSecurityLevelResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addComment" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:addCommentRequest" name="addCommentRequest"/>
+
+         <wsdl:output message="impl:addCommentResponse" name="addCommentResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectWithSchemesById" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getProjectWithSchemesByIdRequest" name="getProjectWithSchemesByIdRequest"/>
+
+         <wsdl:output message="impl:getProjectWithSchemesByIdResponse" name="getProjectWithSchemesByIdResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSecurityLevels" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getSecurityLevelsRequest" name="getSecurityLevelsRequest"/>
+
+         <wsdl:output message="impl:getSecurityLevelsResponse" name="getSecurityLevelsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectAvatars" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:getProjectAvatarsRequest" name="getProjectAvatarsRequest"/>
+
+         <wsdl:output message="impl:getProjectAvatarsResponse" name="getProjectAvatarsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="setProjectAvatar" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:setProjectAvatarRequest" name="setProjectAvatarRequest"/>
+
+         <wsdl:output message="impl:setProjectAvatarResponse" name="setProjectAvatarResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectAvatar" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getProjectAvatarRequest" name="getProjectAvatarRequest"/>
+
+         <wsdl:output message="impl:getProjectAvatarResponse" name="getProjectAvatarResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteProjectAvatar" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deleteProjectAvatarRequest" name="deleteProjectAvatarRequest"/>
+
+         <wsdl:output message="impl:deleteProjectAvatarResponse" name="deleteProjectAvatarResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getNotificationSchemes" parameterOrder="in0">
+
+         <wsdl:input message="impl:getNotificationSchemesRequest" name="getNotificationSchemesRequest"/>
+
+         <wsdl:output message="impl:getNotificationSchemesResponse" name="getNotificationSchemesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPermissionSchemes" parameterOrder="in0">
+
+         <wsdl:input message="impl:getPermissionSchemesRequest" name="getPermissionSchemesRequest"/>
+
+         <wsdl:output message="impl:getPermissionSchemesResponse" name="getPermissionSchemesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAllPermissions" parameterOrder="in0">
+
+         <wsdl:input message="impl:getAllPermissionsRequest" name="getAllPermissionsRequest"/>
+
+         <wsdl:output message="impl:getAllPermissionsResponse" name="getAllPermissionsResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createPermissionScheme" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:createPermissionSchemeRequest" name="createPermissionSchemeRequest"/>
+
+         <wsdl:output message="impl:createPermissionSchemeResponse" name="createPermissionSchemeResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addPermissionTo" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:addPermissionToRequest" name="addPermissionToRequest"/>
+
+         <wsdl:output message="impl:addPermissionToResponse" name="addPermissionToResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deletePermissionFrom" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:deletePermissionFromRequest" name="deletePermissionFromRequest"/>
+
+         <wsdl:output message="impl:deletePermissionFromResponse" name="deletePermissionFromResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deletePermissionScheme" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deletePermissionSchemeRequest" name="deletePermissionSchemeRequest"/>
+
+         <wsdl:output message="impl:deletePermissionSchemeResponse" name="deletePermissionSchemeResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createIssueWithSecurityLevel" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:createIssueWithSecurityLevelRequest" name="createIssueWithSecurityLevelRequest"/>
+
+         <wsdl:output message="impl:createIssueWithSecurityLevelResponse" name="createIssueWithSecurityLevelResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addAttachmentsToIssue" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:addAttachmentsToIssueRequest" name="addAttachmentsToIssueRequest"/>
+
+         <wsdl:output message="impl:addAttachmentsToIssueResponse" name="addAttachmentsToIssueResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAttachmentsFromIssue" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getAttachmentsFromIssueRequest" name="getAttachmentsFromIssueRequest"/>
+
+         <wsdl:output message="impl:getAttachmentsFromIssueResponse" name="getAttachmentsFromIssueResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteIssue" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deleteIssueRequest" name="deleteIssueRequest"/>
+
+         <wsdl:output message="impl:deleteIssueResponse" name="deleteIssueResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToEditComment" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:hasPermissionToEditCommentRequest" name="hasPermissionToEditCommentRequest"/>
+
+         <wsdl:output message="impl:hasPermissionToEditCommentResponse" name="hasPermissionToEditCommentResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="editComment" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:editCommentRequest" name="editCommentRequest"/>
+
+         <wsdl:output message="impl:editCommentResponse" name="editCommentResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getFieldsForAction" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:getFieldsForActionRequest" name="getFieldsForActionRequest"/>
+
+         <wsdl:output message="impl:getFieldsForActionResponse" name="getFieldsForActionResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="progressWorkflowAction" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:progressWorkflowActionRequest" name="progressWorkflowActionRequest"/>
+
+         <wsdl:output message="impl:progressWorkflowActionResponse" name="progressWorkflowActionResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueById" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getIssueByIdRequest" name="getIssueByIdRequest"/>
+
+         <wsdl:output message="impl:getIssueByIdResponse" name="getIssueByIdResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addWorklogWithNewRemainingEstimate" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:addWorklogWithNewRemainingEstimateRequest" name="addWorklogWithNewRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:addWorklogWithNewRemainingEstimateResponse" name="addWorklogWithNewRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addWorklogAndAutoAdjustRemainingEstimate" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:addWorklogAndAutoAdjustRemainingEstimateRequest" name="addWorklogAndAutoAdjustRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:addWorklogAndAutoAdjustRemainingEstimateResponse" name="addWorklogAndAutoAdjustRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addWorklogAndRetainRemainingEstimate" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:addWorklogAndRetainRemainingEstimateRequest" name="addWorklogAndRetainRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:addWorklogAndRetainRemainingEstimateResponse" name="addWorklogAndRetainRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteWorklogWithNewRemainingEstimate" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:deleteWorklogWithNewRemainingEstimateRequest" name="deleteWorklogWithNewRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:deleteWorklogWithNewRemainingEstimateResponse" name="deleteWorklogWithNewRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteWorklogAndAutoAdjustRemainingEstimate" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deleteWorklogAndAutoAdjustRemainingEstimateRequest" name="deleteWorklogAndAutoAdjustRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:deleteWorklogAndAutoAdjustRemainingEstimateResponse" name="deleteWorklogAndAutoAdjustRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteWorklogAndRetainRemainingEstimate" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deleteWorklogAndRetainRemainingEstimateRequest" name="deleteWorklogAndRetainRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:deleteWorklogAndRetainRemainingEstimateResponse" name="deleteWorklogAndRetainRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateWorklogWithNewRemainingEstimate" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:updateWorklogWithNewRemainingEstimateRequest" name="updateWorklogWithNewRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:updateWorklogWithNewRemainingEstimateResponse" name="updateWorklogWithNewRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateWorklogAndAutoAdjustRemainingEstimate" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:updateWorklogAndAutoAdjustRemainingEstimateRequest" name="updateWorklogAndAutoAdjustRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:updateWorklogAndAutoAdjustRemainingEstimateResponse" name="updateWorklogAndAutoAdjustRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateWorklogAndRetainRemainingEstimate" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:updateWorklogAndRetainRemainingEstimateRequest" name="updateWorklogAndRetainRemainingEstimateRequest"/>
+
+         <wsdl:output message="impl:updateWorklogAndRetainRemainingEstimateResponse" name="updateWorklogAndRetainRemainingEstimateResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getWorklogs" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getWorklogsRequest" name="getWorklogsRequest"/>
+
+         <wsdl:output message="impl:getWorklogsResponse" name="getWorklogsResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToCreateWorklog" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:hasPermissionToCreateWorklogRequest" name="hasPermissionToCreateWorklogRequest"/>
+
+         <wsdl:output message="impl:hasPermissionToCreateWorklogResponse" name="hasPermissionToCreateWorklogResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToDeleteWorklog" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:hasPermissionToDeleteWorklogRequest" name="hasPermissionToDeleteWorklogRequest"/>
+
+         <wsdl:output message="impl:hasPermissionToDeleteWorklogResponse" name="hasPermissionToDeleteWorklogResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToUpdateWorklog" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:hasPermissionToUpdateWorklogRequest" name="hasPermissionToUpdateWorklogRequest"/>
+
+         <wsdl:output message="impl:hasPermissionToUpdateWorklogResponse" name="hasPermissionToUpdateWorklogResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getResolutionDateByKey" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getResolutionDateByKeyRequest" name="getResolutionDateByKeyRequest"/>
+
+         <wsdl:output message="impl:getResolutionDateByKeyResponse" name="getResolutionDateByKeyResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getResolutionDateById" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getResolutionDateByIdRequest" name="getResolutionDateByIdRequest"/>
+
+         <wsdl:output message="impl:getResolutionDateByIdResponse" name="getResolutionDateByIdResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueCountForFilter" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getIssueCountForFilterRequest" name="getIssueCountForFilterRequest"/>
+
+         <wsdl:output message="impl:getIssueCountForFilterResponse" name="getIssueCountForFilterResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromTextSearch" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getIssuesFromTextSearchRequest" name="getIssuesFromTextSearchRequest"/>
+
+         <wsdl:output message="impl:getIssuesFromTextSearchResponse" name="getIssuesFromTextSearchResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromTextSearchWithProject" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:getIssuesFromTextSearchWithProjectRequest" name="getIssuesFromTextSearchWithProjectRequest"/>
+
+         <wsdl:output message="impl:getIssuesFromTextSearchWithProjectResponse" name="getIssuesFromTextSearchWithProjectResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromJqlSearch" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:getIssuesFromJqlSearchRequest" name="getIssuesFromJqlSearchRequest"/>
+
+         <wsdl:output message="impl:getIssuesFromJqlSearchResponse" name="getIssuesFromJqlSearchResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteUser" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:deleteUserRequest" name="deleteUserRequest"/>
+
+         <wsdl:output message="impl:deleteUserResponse" name="deleteUserResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateGroup" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:updateGroupRequest" name="updateGroupRequest"/>
+
+         <wsdl:output message="impl:updateGroupResponse" name="updateGroupResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteGroup" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:deleteGroupRequest" name="deleteGroupRequest"/>
+
+         <wsdl:output message="impl:deleteGroupResponse" name="deleteGroupResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="refreshCustomFields" parameterOrder="in0">
+
+         <wsdl:input message="impl:refreshCustomFieldsRequest" name="refreshCustomFieldsRequest"/>
+
+         <wsdl:output message="impl:refreshCustomFieldsResponse" name="refreshCustomFieldsResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSavedFilters" parameterOrder="in0">
+
+         <wsdl:input message="impl:getSavedFiltersRequest" name="getSavedFiltersRequest"/>
+
+         <wsdl:output message="impl:getSavedFiltersResponse" name="getSavedFiltersResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addBase64EncodedAttachmentsToIssue" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:addBase64EncodedAttachmentsToIssueRequest" name="addBase64EncodedAttachmentsToIssueRequest"/>
+
+         <wsdl:output message="impl:addBase64EncodedAttachmentsToIssueResponse" name="addBase64EncodedAttachmentsToIssueResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createProjectFromObject" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:createProjectFromObjectRequest" name="createProjectFromObjectRequest"/>
+
+         <wsdl:output message="impl:createProjectFromObjectResponse" name="createProjectFromObjectResponse"/>
+
+         <wsdl:fault message="impl:RemoteValidationException" name="RemoteValidationException"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSecuritySchemes" parameterOrder="in0">
+
+         <wsdl:input message="impl:getSecuritySchemesRequest" name="getSecuritySchemesRequest"/>
+
+         <wsdl:output message="impl:getSecuritySchemesResponse" name="getSecuritySchemesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addVersion" parameterOrder="in0 in1 in2">
+
+         <wsdl:input message="impl:addVersionRequest" name="addVersionRequest"/>
+
+         <wsdl:output message="impl:addVersionResponse" name="addVersionResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromFilter" parameterOrder="in0 in1">
+
+         <wsdl:input message="impl:getIssuesFromFilterRequest" name="getIssuesFromFilterRequest"/>
+
+         <wsdl:output message="impl:getIssuesFromFilterResponse" name="getIssuesFromFilterResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromFilterWithLimit" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:getIssuesFromFilterWithLimitRequest" name="getIssuesFromFilterWithLimitRequest"/>
+
+         <wsdl:output message="impl:getIssuesFromFilterWithLimitResponse" name="getIssuesFromFilterWithLimitResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromTextSearchWithLimit" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:getIssuesFromTextSearchWithLimitRequest" name="getIssuesFromTextSearchWithLimitRequest"/>
+
+         <wsdl:output message="impl:getIssuesFromTextSearchWithLimitResponse" name="getIssuesFromTextSearchWithLimitResponse"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectsNoSchemes" parameterOrder="in0">
+
+         <wsdl:input message="impl:getProjectsNoSchemesRequest" name="getProjectsNoSchemesRequest"/>
+
+         <wsdl:output message="impl:getProjectsNoSchemesResponse" name="getProjectsNoSchemesResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteAuthenticationException" name="RemoteAuthenticationException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="setNewProjectAvatar" parameterOrder="in0 in1 in2 in3">
+
+         <wsdl:input message="impl:setNewProjectAvatarRequest" name="setNewProjectAvatarRequest"/>
+
+         <wsdl:output message="impl:setNewProjectAvatarResponse" name="setNewProjectAvatarResponse"/>
+
+         <wsdl:fault message="impl:RemotePermissionException" name="RemotePermissionException"/>
+
+         <wsdl:fault message="impl:RemoteException" name="RemoteException"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="jirasoapservice-v2SoapBinding" type="impl:JiraSoapService">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="getComment">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getCommentRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getCommentResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createGroup">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createGroupRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createGroupResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getServerInfo">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getServerInfoRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getServerInfoResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getGroup">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getGroupRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getGroupResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="login">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="loginRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="loginResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="logout">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="logoutRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="logoutResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getUser">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getUserRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getUserResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createUser">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createUserRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createUserResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getComponents">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getComponentsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getComponentsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAvailableActions">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAvailableActionsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAvailableActionsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getConfiguration">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getConfigurationRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getConfigurationResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectByKey">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectByKeyRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectByKeyResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeAllRoleActorsByProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="removeAllRoleActorsByProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="removeAllRoleActorsByProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPriorities">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getPrioritiesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getPrioritiesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getResolutions">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getResolutionsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getResolutionsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueTypes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssueTypesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssueTypesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSubTaskIssueTypes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getSubTaskIssueTypesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getSubTaskIssueTypesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getStatuses">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getStatusesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getStatusesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectRoles">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectRolesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectRolesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectRoleActors">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectRoleActorsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectRoleActorsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getDefaultRoleActors">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getDefaultRoleActorsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getDefaultRoleActorsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeAllRoleActorsByNameAndType">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="removeAllRoleActorsByNameAndTypeRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="removeAllRoleActorsByNameAndTypeResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="isProjectRoleNameUnique">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="isProjectRoleNameUniqueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="isProjectRoleNameUniqueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addActorsToProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addActorsToProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addActorsToProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeActorsFromProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="removeActorsFromProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="removeActorsFromProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addDefaultActorsToProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addDefaultActorsToProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addDefaultActorsToProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeDefaultActorsFromProjectRole">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="removeDefaultActorsFromProjectRoleRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="removeDefaultActorsFromProjectRoleResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAssociatedNotificationSchemes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAssociatedNotificationSchemesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAssociatedNotificationSchemesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAssociatedPermissionSchemes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAssociatedPermissionSchemesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAssociatedPermissionSchemesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectById">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectByIdRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectByIdResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getVersions">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getVersionsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getVersionsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getCustomFields">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getCustomFieldsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getCustomFieldsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getComments">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getCommentsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getCommentsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getFavouriteFilters">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getFavouriteFiltersRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getFavouriteFiltersResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="releaseVersion">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="releaseVersionRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="releaseVersionResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="archiveVersion">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="archiveVersionRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="archiveVersionResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getFieldsForEdit">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getFieldsForEditRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getFieldsForEditResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueTypesForProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssueTypesForProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssueTypesForProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSubTaskIssueTypesForProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getSubTaskIssueTypesForProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getSubTaskIssueTypesForProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addUserToGroup">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addUserToGroupRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addUserToGroupResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="removeUserFromGroup">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="removeUserFromGroupRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="removeUserFromGroupResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSecurityLevel">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getSecurityLevelRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getSecurityLevelResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addComment">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addCommentRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addCommentResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectWithSchemesById">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectWithSchemesByIdRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectWithSchemesByIdResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSecurityLevels">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getSecurityLevelsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getSecurityLevelsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectAvatars">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectAvatarsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectAvatarsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="setProjectAvatar">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="setProjectAvatarRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="setProjectAvatarResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectAvatar">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectAvatarRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectAvatarResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteProjectAvatar">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteProjectAvatarRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteProjectAvatarResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getNotificationSchemes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getNotificationSchemesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getNotificationSchemesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getPermissionSchemes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getPermissionSchemesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getPermissionSchemesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAllPermissions">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAllPermissionsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAllPermissionsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createPermissionScheme">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createPermissionSchemeRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createPermissionSchemeResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addPermissionTo">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addPermissionToRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addPermissionToResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deletePermissionFrom">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deletePermissionFromRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deletePermissionFromResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deletePermissionScheme">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deletePermissionSchemeRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deletePermissionSchemeResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createIssueWithSecurityLevel">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createIssueWithSecurityLevelRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createIssueWithSecurityLevelResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addAttachmentsToIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addAttachmentsToIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addAttachmentsToIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAttachmentsFromIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAttachmentsFromIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAttachmentsFromIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToEditComment">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="hasPermissionToEditCommentRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="hasPermissionToEditCommentResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="editComment">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="editCommentRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="editCommentResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getFieldsForAction">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getFieldsForActionRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getFieldsForActionResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="progressWorkflowAction">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="progressWorkflowActionRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="progressWorkflowActionResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueById">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssueByIdRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssueByIdResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addWorklogWithNewRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addWorklogWithNewRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addWorklogWithNewRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addWorklogAndAutoAdjustRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addWorklogAndAutoAdjustRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addWorklogAndAutoAdjustRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addWorklogAndRetainRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addWorklogAndRetainRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addWorklogAndRetainRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteWorklogWithNewRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteWorklogWithNewRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteWorklogWithNewRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteWorklogAndAutoAdjustRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteWorklogAndAutoAdjustRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteWorklogAndAutoAdjustRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteWorklogAndRetainRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteWorklogAndRetainRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteWorklogAndRetainRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateWorklogWithNewRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateWorklogWithNewRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateWorklogWithNewRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateWorklogAndAutoAdjustRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateWorklogAndAutoAdjustRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateWorklogAndAutoAdjustRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateWorklogAndRetainRemainingEstimate">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateWorklogAndRetainRemainingEstimateRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateWorklogAndRetainRemainingEstimateResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getWorklogs">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getWorklogsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getWorklogsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToCreateWorklog">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="hasPermissionToCreateWorklogRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="hasPermissionToCreateWorklogResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToDeleteWorklog">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="hasPermissionToDeleteWorklogRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="hasPermissionToDeleteWorklogResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="hasPermissionToUpdateWorklog">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="hasPermissionToUpdateWorklogRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="hasPermissionToUpdateWorklogResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getResolutionDateByKey">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getResolutionDateByKeyRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getResolutionDateByKeyResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getResolutionDateById">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getResolutionDateByIdRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getResolutionDateByIdResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssueCountForFilter">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssueCountForFilterRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssueCountForFilterResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromTextSearch">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssuesFromTextSearchRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssuesFromTextSearchResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromTextSearchWithProject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssuesFromTextSearchWithProjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssuesFromTextSearchWithProjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromJqlSearch">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssuesFromJqlSearchRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssuesFromJqlSearchResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteUser">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteUserRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteUserResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateGroup">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateGroupRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateGroupResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="deleteGroup">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="deleteGroupRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="deleteGroupResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="refreshCustomFields">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="refreshCustomFieldsRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="refreshCustomFieldsResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSavedFilters">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getSavedFiltersRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getSavedFiltersResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addBase64EncodedAttachmentsToIssue">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addBase64EncodedAttachmentsToIssueRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addBase64EncodedAttachmentsToIssueResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createProjectFromObject">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createProjectFromObjectRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createProjectFromObjectResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteValidationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteValidationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getSecuritySchemes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getSecuritySchemesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getSecuritySchemesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="addVersion">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="addVersionRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="addVersionResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromFilter">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssuesFromFilterRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssuesFromFilterResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromFilterWithLimit">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssuesFromFilterWithLimitRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssuesFromFilterWithLimitResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getIssuesFromTextSearchWithLimit">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getIssuesFromTextSearchWithLimitRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getIssuesFromTextSearchWithLimitResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getProjectsNoSchemes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getProjectsNoSchemesRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getProjectsNoSchemesResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteAuthenticationException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteAuthenticationException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="setNewProjectAvatar">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="setNewProjectAvatarRequest">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://soap.rpc.jira.atlassian.com" use="encoded"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="setNewProjectAvatarResponse">
+
+            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:output>
+
+         <wsdl:fault name="RemotePermissionException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemotePermissionException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+         <wsdl:fault name="RemoteException">
+
+            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="RemoteException" namespace="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2" use="encoded"/>
+
+         </wsdl:fault>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="JiraSoapServiceService">
+
+      <wsdl:port binding="impl:jirasoapservice-v2SoapBinding" name="jirasoapservice-v2">
+
+         <wsdlsoap:address location="http://localhost:8090/jira/rpc/soap/jirasoapservice-v2"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>