JIRA 3.0 and above ships with the RPC plugin which enables remote access through XML-RPC and SOAP.This document contains notes on how to perform various operations (e.g. creating issues) via a Java SOAP client (JIRA 3.1 or above required).
Remotely exposed operations.
Before you begin, check out the javadoc for the RPC plugin, specifically JiraSoapService, which has information on all the methods available through SOAP and and XML-RPC. Also check the list of RPC bugs, listed on the RPC plugin page, to see that none will affect you.
| Please note that the SOAP service respects the permissions and screen configurations that are set up in JIRA. For example, if you have configured JIRA so that the screen for a given issue type does not include a 'Summary' field, then you will not be permitted to set a value for the 'Summary' field through the SOAP request. |
| Some of our users have recommended SOAPUI (http://www.soapui.org/). It allows you to import the WSDL from JIRA and it then displays all remote calls and all sorts of details and testing possibilities. Check it out! Thanks goes to Karl-Koenig Koenigsson for this info. |
Enable the RPC plugin
To invoke JIRA operations remotely, you should ensure that the RPC plugin is enabled on the JIRA installation you are targeting. If you simply want to create a client to http://jira.atlassian.com/ then you can skip this step. First you need to check if the Accept Remote API Calls has been enabled in 'General Configuration' under 'Global Settings' in the left-hand menu:

Then you need to enable the JIRA RPC Plugin in 'Plugins' under 'System' in the left-hand menu:
!
If the plugin does not appear as above then your RPC jar has not been properly installed. Download the jar from the repository and copy it to the atlassian-jira/WEB-INF/lib folder of your JIRA installation. Perform a restart and your plugin should appear.
Your server should now be ready to accept remote procedure calls.
WSDL descriptor
Regardless of the language or SOAP API used, you will need the WSDL descriptor for your JIRA installation. This is found at http://your_installation/rpc/soap/jirasoapservice-v2?wsdl. For instance, http://jira.atlassian.com's WSDL file is:
http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
In JIRA 3.0.x, the URL is http://your_installation/rpc/soap/jiraservice-v1.wsdl. The sample SOAP client below has this pre-packaged, so you don't need to do anything further if using it.
Sample Java SOAP client
Check out the latest demo SOAP client distribution. This contains a Maven 2 project configured to use Apache Axis, and a sample Java SOAP client which creates test issues in http://jira.atlassian.com.
Read the README.txt in the root directory for further instructions.
To give you an idea of what a Java SOAP client looks like, here is the sample client's code for creating issues:
private static RemoteIssue testCreateIssue(JiraSoapService jiraSoapService, String token)
throws java.rmi.RemoteException
{
Timing timing = Timing.startTiming("CreateIssue");
try
{
// Create the issue
RemoteIssue issue = new RemoteIssue();
issue.setProject(PROJECT_KEY);
issue.setType(ISSUE_TYPE_ID);
issue.setSummary(SUMMARY_NAME);
issue.setPriority(PRIORITY_ID);
issue.setDuedate(Calendar.getInstance());
issue.setAssignee("");
// Add remote compoments
RemoteComponent component = new RemoteComponent();
component.setId(COMPONENT_ID);
issue.setComponents(new RemoteComponent[] { component });
// Add remote versions
RemoteVersion version = new RemoteVersion();
version.setId(VERSION_ID);
RemoteVersion[] remoteVersions = new RemoteVersion[] { version };
issue.setFixVersions(remoteVersions);
// Add custom fields
RemoteCustomFieldValue customFieldValue = new RemoteCustomFieldValue(CUSTOM_FIELD_KEY_1, "", new String[] { CUSTOM_FIELD_VALUE_1 });
RemoteCustomFieldValue customFieldValue2 = new RemoteCustomFieldValue(CUSTOM_FIELD_KEY_2, "", new String[] { CUSTOM_FIELD_VALUE_2 });
RemoteCustomFieldValue[] customFieldValues = new RemoteCustomFieldValue[] { customFieldValue, customFieldValue2 };
issue.setCustomFieldValues(customFieldValues);
// Run the create issue code
RemoteIssue returnedIssue = jiraSoapService.createIssue(token, issue);
final String issueKey = returnedIssue.getKey();
System.out.println("\tSuccessfully created issue " + issueKey);
printIssueDetails(returnedIssue);
return returnedIssue;
}
finally
{
timing.printTiming();
}
The various external classes (JiraSoapService etc) are the classes generated automatically from WSDL by the Maven Axis plugin.
Python (SOAPPy) client
Due to a JIRA/Axis bug, Python clients will not work with JIRA versions earlier than 3.3.1. In 3.3.1 and above, the following code demonstrates how to create an issue and comment (on http://jira.atlassian.com):
#!/usr/bin/python
# Sample Python client accessing JIRA via SOAP. By default, accesses
# http://jira.atlassian.com with a public account. Methods requiring
# more than basic user-level access are commented out. Change the URL
# and project/issue details for local testing.
#
# Note: This Python client only works with JIRA 3.3.1 and above (see
# http://jira.atlassian.com/browse/JRA-7321)
#
# Refer to the SOAP Javadoc to see what calls are available:
# http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/com/atlassian/jira/rpc/soap/JiraSoapService.html
import SOAPpy, getpass, datetime
soap = SOAPpy.WSDL.Proxy('http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl')
#soap = SOAPpy.WSDL.Proxy('http://localhost:8090/jira/rpc/soap/jirasoapservice-v2?wsdl')
#jirauser = raw_input("Username for jira [fred]: ")
#if jirauser == "":
# jirauser = "fred"
#
#passwd = getpass.getpass("Password for %s: " % jirauser)
#passwd="fredspassword"
jirauser='soaptester'
passwd='soaptester'
# This prints available methods, but the WSDL doesn't include argument
# names so its fairly useless. Refer to the Javadoc URL above instead
#print 'Available methods: ', soap.methods.keys()
def listSOAPmethods():
for key in soap.methods.keys():
print key, ': '
for param in soap.methods[key].inparams:
print '\t', param.name.ljust(10), param.type
for param in soap.methods[key].outparams:
print '\tOut: ', param.name.ljust(10), param.type
auth = soap.login(jirauser, passwd)
issue = soap.getIssue(auth, 'TST-3410')
print "Retrieved issue:", issue
print
# Note: if anyone can get timestamps to work, please let us know how!
baseurl = soap.getServerInfo(auth)['baseUrl']
newissue = soap.createIssue(auth, {'project': 'TST', 'type': '1', 'summary': 'Issue created with Python!'})
print "Created %s/browse/%s" % (baseurl, newissue['key'])
print "Adding comment.."
soap.addComment(auth, newissue['key'], {'body': 'Comment added with SOAP'})
print 'Updating issue..'
soap.updateIssue(auth, newissue['key'], [
{"id": "summary", "values": ['[Updated] Issue created with Python'] },
# Change issue type to 'New feature'
{"id":"issuetype", "values":'2'},
# Setting a custom field. The id (10010) is discoverable from
# the database or URLs in the admin section
{"id": "customfield_10010", "values": ["Random text set in updateIssue method"] },
{"id":"fixVersions", "values":['10331']},
# Demonstrate setting a cascading selectlist:
{"id": "customfield_10061", "values": ["10098"]},
{"id": "customfield_10061_1", "values": ["10105"]},
{"id": "duedate", "values": datetime.date.today().strftime("%d-%b-%y")}
])
print 'Resolving issue..'
# Note: all fields prompted for in the transition (eg. assignee) need to
# be set, or they will become blank.
soap.progressWorkflowAction(auth, newissue['key'], '2', [
{"id": "assignee", "values": "jefft" },
{"id":"fixVersions", "values":['10331']},
{"id": "resolution", "values": "2" }
])
# Re. 'assignee' above, see http://jira.atlassian.com/browse/JRA-9018
# This works if you have the right permissions
#user = soap.createUser(auth, "testuser2", "testuser2", "SOAP-created user", "newuser@localhost")
#print "Created user ", user
#group = soap.getGroup(auth, "jira-developers")
# Adding a user to a group. Naming the parameters may be required (see
# http://jira.atlassian.com/browse/JRA-7971). You may experience other
# problems (see http://jira.atlassian.com/browse/JRA-7920).
#soap.addUserToGroup(token=auth, group=group, user=user)
# Adding a version to a project. If you figure out the syntax for the date please submit it back to Atlassian
#soap.addVersion(auth, "TST", {'name': 'Version 1'})
print "Done!"
# vim set textwidth=1000:
| Python's SOAP support is considerably less well developed than Java's, and some SOAP calls may fail (e.g. addUserToGroup()). |
Ruby client
Ben Walding (Codehaus) reports:
I've worked with the developers of SOAP4R and they've made the Ruby SOAP libraries work with JIRA. It was the client libraries at fault - they were ignoring the WSDL and sending integers instead of longs.
A gem for marginally simpler access to JIRA can be found at http://jira4r.rubyhaus.org/ (there is also a confluence gem at http://confluence4r.rubyhaus.org/
The gems take care of authentication and provide helper methods where the Jira / Confluence interfaces are missing useful methods or behave strangely (eg. provides a getProject; provides a getGroup that doesn't throw exceptions).
There is a JIRA4R sample Ruby script available in the samples (thanks Jonathan Zhang). If you have any Ruby samples to share, please let us know so we can include them into the repository as well.






Comments (166)
Aug 02, 2005
Bill Schneider says:
It's great that JIRA is opening up services for remote integration with other ap...It's great that JIRA is opening up services for remote integration with other apps. It makes it that much more useful of a tool.
I wonder if there is any way we can do some kind of single sign-on where if a user is already logged into JIRA and the other app, you can grab their token for the existing JIRA session somehow? That would be better in some ways than having to prompt for (or store) a username/password.
Jan 27, 2009
sleiman rabah says:
Hi, I don't know if that what you are looking for, but yes you can automate web...Hi,
I don't know if that what you are looking for, but yes you can automate web application, I mean there are tools to automate web applications tests, for example you can automate butons clicks or even login to a website....
Canoo Web test is a tool writen in Java and it is a great tool to do this kinf of job. There is another one if you want to use other language such as PHP, PERL .....
Sep 22, 2005
Mike Doustan says:
All, I am not fimiliar with Maven, and want to separate the Jira soap client fr...All,
I am not fimiliar with Maven, and want to separate the Jira soap client from Maven. Ultimately I would like to get the soap client to work within Eclipse. Is that possible and if so how?
Thanks,
Mike
Sep 22, 2005
Anton Mazkovoi says:
Mike, It is actually possible to generate Eclipse project files using Maven. Fo...Mike,
It is actually possible to generate Eclipse project files using Maven. For more information please see: http://maven.apache.org/reference/plugins/eclipse/
If you use the maven eclipse plugin and run:
maven eclipse
you should get an Eclipse project files generated for you.
I am sure it is possible to manually go through the process of creating these files, but maven makes things much easier. I suggest looking into maven, as it is a powerful tool and one that you might find useful to add to your arsenal of developement tools.
Anton
Nov 07, 2005
npeeters says:
Great description. The SOAP interface works fine on my installation. One questio...Great description. The SOAP interface works fine on my installation. One question though: is it possible to use the SOAP interface to actually log in the users to the site (provided that you get their credentials from somewhere else...) so that they don't have to type in their password again? If not, is there anything else I could use to achieve this "single-sign on"?
Nicolas
Nov 08, 2005
Jeff Turner says:
See http://opensource.atlassian.com/seraph/sso.htmlSee http://opensource.atlassian.com/seraph/sso.html
Nov 28, 2005
Dan Black says:
I don't see JiraSoapServiceServiceLocator or getJirasoapserviceV2 anywhere in th...I don't see JiraSoapServiceServiceLocator or getJirasoapserviceV2 anywhere in the API documentation. Am I missing something? I am trying to duplicate the Java example code above in .NET. Are these lines below setup steps specific to Java?
I pulled the lines I am referring to from the begining of the Java example above:
JiraSoapServiceService jiraSoapServiceGetter = new JiraSoapServiceServiceLocator();
JiraSoapService jiraSoapService = jiraSoapServiceGetter.getJirasoapserviceV2();
Nov 28, 2005
Anton Mazkovoi says:
Hi, We are not too familiar with .NET here. However I imagine there are SOAP to...Hi,
We are not too familiar with .NET here. However I imagine there are SOAP tools in .NET that generate appropriate classes given the WSDL file. You will need to use the generated classes. The classes might be called something totally different to JiraSoapServiceServiceLocator().
Another avenue to try is to contact JIRA users via the mailing list: http://www.atlassian.com/software/jira/mailinglist.jsp
There should be JIRA users who have more idea about .NET.
Thanks,
Anton
Aug 04, 2009
Anonymous says:
Hi ,I Used VS2008 to create a client to connect to Jira server. I create steps a...Hi ,I Used VS2008 to create a client to connect to Jira server. I create steps as below:
1.create a console application
2. add web service reference to the jira server such as http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
this webservice named as Test .Than try to login to jira server
http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
Test.JiraSoapServiceClient a = new Test.JiraSoapServiceClient();
//login
string token= a.login("UserName", "pwd");
//Get project information
Test.RemoteProject project = a.getProjectByKey(token, "Proect key");
Any questions you can mail to yaoohfox#hotmail.com please change #- to @.
Dec 21, 2005
Jason Kohls says:
Having a bit of difficulty with PHP, specifically the getUser method: window....Having a bit of difficulty with PHP, specifically the getUser method:
include('lib/soaplib.php'); $wsdl = "http://foo.bar:8080/rpc/soap/jirasoapservice-v2?wsdl"; $client = new soapclient($wsdl, true); $credentials = array('username', 'password'); $token = $client->call('login', $credentials); $credz = array('username', $token); $user = $client->call('getUser', $credz);$user returns the following fault string: "com.atlassian.jira.rpc.exception.RemoteAuthenticationException: User not authenticated yet, or session timed out."
I'm assuming that this is the correct approach to returning a RemoteUser object; all I'm after here is the user's full name and email (getFullName() and getEmail() respectively) methods.
The login method is indeed returning a token so obviously that user exists.
thoughts?
Feb 08, 2006
Amrit Lalli says:
This worked for me: req: php 5, and it was compiled with '--enable-soap', or so...This worked for me:
req: php 5, and it was compiled with '--enable-soap', or something like that. It doesnt come with soap by default, (I wasnt able to get PHP PEAR soap to work
)
for confluence: ---------------------------------------------------------------------
try { $client = new SoapClient($wikiSoapUrl); $createCommentToken = $client->login($username, $password); $comment = array(); $comment\[pageId\]=$pageid; $comment\[title\]=' ';//Not required // the space escaping and line breaks took a bit to figure out $comment\[content\]=preg_replace("/\r\n\|\n\|\r/", "\\\\\\\\ ", "comment message"); $comment\[creator\]=' ';//Not required. The person who is logged in $comment\[id\]='0';// Not required. Confluence will assign the next avail id $comment\[created\]=' 2006-01-04T21:57:14.321Z';// i assume this isnt required... confluence will supply current date... i hope. $comment\[parentId\]='0';// Not required $comment\[url\]='';//Not required... confluence will figure this out. sample: 'http://wiki-test.test.com:10080/confluence/display/nullspace/asdf?focusedCommentId=16#comment-16'; $commentAddResult = $client->addComment($createCommentToken, $comment); //if you print_r($commentAddResult) you should see the comment object $client->logout(); } catch (Exception $e) { exit(); }for jira --------- the comment object had to be a object rather than an array/hash as i used for the wiki
The 'just getting' commands are simpler.
I think I had a similar error message when I was trying to get PEAR soap to work.
Feb 08, 2006
Amrit Lalli says:
If what I typed doesnt work. Its probably because I mucked up stripping ou...If what I typed doesnt work. Its probably because I mucked up stripping out stuff to paste it here.. Also the ['s got escaped. But it should work.
:8080/rpc/soap-glue/confluenceservice-v1.wsdl - confluence
8080/rpc/soap/jirasoapservice-v2?wsdl- jira
Dec 21, 2005
Mark Chaimungkalanont says:
Jason, I'm not quite sure about PHP, but perhaps if you reverse the order of th...Jason,
I'm not quite sure about PHP, but perhaps if you reverse the order of the credz = array('username', $token); so that the toeken is the first param, that might work?
Cheers
Mark C
Feb 12, 2006
Landon Bradshaw says:
Here is an example that works with PHP 4.x by using the NuSOAP library ... ...Here is an example that works with PHP 4.x by using the NuSOAP library ... I'm using a variation of this to post commit messages from my Subversion repository to JIRA ... (yes, I admit that I stole the basic structure from the NuSOAP sample scripts)
<?php require_once('lib/nusoap.php'); require_once('lib/class.wsdlcache.php'); $cache = new wsdlcache('./cache', 60); $wsdl = $cache->get('http://localhost:8080/rpc/soap/jirasoapservice-v2?wsdl'); if (is_null($wsdl)) { $wsdl = new wsdl('http://localhost:8080/rpc/soap/jirasoapservice-v2?wsdl'); $cache->put($wsdl); } $client = new soapclient($wsdl, true); $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; } // Login to JIRA $credentials = array('username', 'password'); $token = $client->call('login', $credentials); // Get the user information $userReq = array($token,'username'); $result = $client->call('getUser', $userReq); // Add a comment to a specific issue //$action = array($token, 'issueId', array('body'=>"Fear me for this is my comment\n")); //$issue = $client->call('addComment', $action); // Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>'; } else { // Display the result echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>'; } } ?>Nov 28, 2007
Mike Cannon-Brookes says:
Landon - is there a reason to use SOAP to do this instead of the Subversion plug...Landon - is there a reason to use SOAP to do this instead of the Subversion plugin?
Feb 17, 2006
Marcelo Riss says:
Hi! I have checke in JIRA soap API and did not found a way to get or set th...Hi!
I have checke in JIRA soap API and did not found a way to get or set the working time (in the same way as work logging in JIRA web interface) for a given issue. Is there any method for this? If not, what is the possible work arround? Would be to create another module for JIRA soap plugin?
Feb 22, 2006
Mark Chaimungkalanont says:
Marcelo, What you're after isn't currently possible but you can download the RP...Marcelo,
What you're after isn't currently possible but you can download the RPC plugin source to add any functionality to it. The source can be found at:
http://repository.atlassian.com/atlassian-jira-rpc-plugin/distributions/
If you're editing the default plugin, then make changes to the interface:
com.atlassian.jira.rpc.soap.JiraSoapService
You will then need to compile the jar with (maven jar) and then place the jar in the WEB-INF/lib folder of your JIRA installation. In the RPC code, you have full access to the internal JIRA API, so you can do just about anything.
Drop us a line on jira-developer@lists.atlassian.com if you need more help on setting this up.
Cheers
Marl C
Feb 22, 2006
Amrit Lalli says:
I am using php soap. I havent had any problems except for calling getProjects($...I am using php soap.
I havent had any problems except for calling getProjects($token). This just hangs.
I can seem to get everything else, (components, versions, etc). Also, getProjectsNoScheme($token) works as well. But have their been any issues with getProjects? Its not critical for me, since I am using getProjectsNoScheme, But i might like to use getProjects in the future.
Feb 23, 2006
Nick Menere says:
Amrit, The problem with getProjects() is that it retreives all teh associated sc...Amrit,
The problem with getProjects() is that it retreives all teh associated schemes which can be a massive resulting object and will take a long, long time to return.
Stick to using getProjectNoSchemes() and then get the schemes seperately if you still need them.
Cheers,
Nick
Feb 24, 2006
Amrit Lalli says:
Ok Thanks for the information Nick.Ok Thanks for the information Nick.
Feb 26, 2006
Jeff Turner says:
(reposting Amrit's comment without the long line which breaks formatting) ...(reposting Amrit's comment without the long line which breaks formatting)
Has you or anyone else added an attachment to a wiki or jira page using php?
Is this possible?
The api for add attachment to a jira issue is this
public boolean addAttachmentsToIssue(String token,
String issueKey,
String[] fileNames,
byte[][] attachments)
$key = 'RI-273';
$filenames = array();
$filenames0='blah.html';
if my file was in /tmp/blah.html
could someone provide code that would upload that file to my jira issue
$blah = $client->addAttachmentsToIssue($token, $key, $filenames, $contents);
Or is this not possible with php. (The byte[][] part), when i try, I get the following exception
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] Function ( "addAttachmentsToIssue") is not a valid method for this service in /sites/confluence/confluencehtml/php/incommingMail/jira/pear_hello_client.php:79 Stack trace: #0 /sites/confluence/confluencehtml/php/incommingMail/jira/pear_hello_client.php(79): SoapClient->__call('addAttachmentsT...', Array) #1 /sites/confluence/confluencehtml/php/incommingMail/jira/pear_hello_client.php(79): SoapClient->addAttachmentsToIssue('J0wwM8PX24', 'RI-273', Array, Array) #2 {main} thrown in /sites/confluence/confluencehtml/php/incommingMail/jira/pear_hello_client.php on line 79Posted by Amrit Lalli at Feb 24, 2006 08:14 | Permalink | Remove | Reply To This
Feb 27, 2006
Amrit Lalli says:
actually I just realized when using a java client, that the api for addAttachmen...actually I just realized when using a java client, that the api for addAttachmentToIssue changed (and didnt work before..) in jira3.5, So i need to upgrade. that was why i guess i was getting the 'not a valid method' error.
Feb 27, 2006
Amrit Lalli says:
if anyone knows how to solve the pass byte[][] from php for addAttachementsToIss...if anyone knows how to solve the pass byte[][] from php for addAttachementsToIssue, please reply to this issue. Since i am still getting an illegal argument exception every way i try it.
Feb 28, 2006
Dylan Etkin says:
Hi Amrit, Sorry to say there is not anyone around here too familiar with php. P...Hi Amrit,
Sorry to say there is not anyone around here too familiar with php. Perhaps you might want to try the users list.
Dylan
Mar 06, 2006
Amrit Lalli says:
I got around that, by writing a java utility, that would take, issuekey, usernam...I got around that, by writing a java utility, that would take, issuekey, username, filename, path, and I would call that through java. It worked.
But for some reason. Uploading file (using java), took too long to be useable. a 1.2 MB file took about 2 mins to transfer, (from one machine to another on the same lan).
So am not bothering with attachments anymore.
on another note. I noticed a) there is no way to create subtasks... (I have a work around for that). and Also.
There is no way to add watchers to an issue through soap that i could see (on an individual basis – without adding them to a scheme, or group). Is this true as well? It seems like everything i need to do with soap is not yet implemented?
Mar 07, 2006
Dylan Etkin says:
Hi Amrit, You are correct, there is not currently a way to manipulate watchers ...Hi Amrit,
You are correct, there is not currently a way to manipulate watchers via SOAP. Our RPC plugin is certainly in a state of evolution and it is user needs that seem to drive its API to catch up with the web interface. There is an issue about this at, http://jira.atlassian.com/browse/JRA-8557 and it would seem that the reporter has started to implement the feature himself, perhaps he will share the code.
Sorry I could not help more,
Dylan
May 02, 2006
David Smiley says:
I am trying to invoke addUserToGroup(). By looking at the WSDL, it appears that...I am trying to invoke addUserToGroup(). By looking at the WSDL, it appears that I need to pass on a fully specified user (i.e. name, email, fullname, etc.) and group (i.e. its name and the name of ALL its members). Why? Shouldn't simply specifying a username and a groupname be enough? Not only does it use unnecessary bandwidth (including two extra round-trips to get the group & user, in addition to sending unnecessary data) but it complicates client code.
By the way, the javadocs didn't help any; there's no Atlassian added info to default javadoc generation.
I couldn't use the XMLRPC client because it is not as complete as the SOAP one.
May 04, 2006
Jeff Turner says:
The addUserToGroup() method wants a RemoteGroup and RemoteUser, which can be ob...The addUserToGroup() method wants a RemoteGroup and RemoteUser, which can be obtained easily enough:
May 05, 2006
David Smiley says:
I don't doubt that your code is brief; I am not complaining about bloating my co...I don't doubt that your code is brief; I am not complaining about bloating my code by two lines. I am complaining about the ramifications. Your code involves two more round-trips to the server than what I argue is necessary. Also, the payload to addUserToGroup is much more bulky because now it contains all the group members and the user metadata which isn't truly necessary for addUserToGroup to do its job. It also introduces the possibility of a race condition. If two remote clients execute that very code above at the same time but for different people, then it is possible that only one of them will be added to the group. I am asking you (Atlassian), why does addUserToGroup take a RemoteUser and a RemoteGroup instead of strings that refer to the name of each?
May 11, 2006
Nick Menere says:
David, I have created a new improvement request to offer an alternative method t...David,
I have created a new improvement request to offer an alternative method that only takes strings.
Cheers,
Nick
May 11, 2006
Richard Wallace says:
Is there a way to get a list of issues for a particular project for the currentl...Is there a way to get a list of issues for a particular project for the currently logged in user using the SOAP apis? I see the getIssuesFromTextSearch() method, but it just looks for the search terms in all the fields of the ticket, doesn't it. It's basically the equivalent of the "Quick Search" from what I can tell. Or can you specify something like "reporter=$
" or something?
The only alternative I can think of is to create a filter in JIRA and just call that rather than actually specify search options on the client side. Any ideas?
Thanks,
Rich
May 11, 2006
Richard Wallace says:
Hmm... seems I broke something. Sorry. I'd fix it, but it seems you can't edit...Hmm... seems I broke something. Sorry. I'd fix it, but it seems you can't edit posts. I guess I should have used a code tag. What I was asking was if you could use something like
[code]
report=$
[/code]
or something similar?
May 12, 2006
Nick Menere says:
Rich, Confluence uses {noformat} to block out code. or there is a code macro as ...Rich,
Confluence uses {noformat} to block out code. or there is a code macro as well.
You should be able to pass in "my" to the text search and it will retreive all issues for the logged in user. You can also the specify the project key to narrow it to a project.
Cheers,
Nick
May 12, 2006
Richard Wallace says:
Thanks for the reply. I was afraid that since I screwed up the formatting ...Thanks for the reply. I was afraid that since I screwed up the formatting so bady I wouldn't get any. Sorry about that. I'll just use the "Rich Text" formatting from now on to be safe
Is there a place where any special strings like that are documented?
Thanks again,
Rich
May 14, 2006
Nick Menere says:
Richard, For Confluence formating check out - http://extranet.atlassian.com/ren...Richard,
For Confluence formating check out - http://extranet.atlassian.com/renderer/notationhelp.action
For the quick search special words, check out - http://www.atlassian.com/software/jira/docs/latest/quicksearch.html
Cheers,
Nick
May 15, 2006
Richard Wallace says:
Thanks again Nick. Just a few more questions if you don't mind. Is there anywa...Thanks again Nick.
Just a few more questions if you don't mind.
Is there anyway to get access to a projects issue type scheme using the SOAP APIs? I'm writing a HelpDesk portlet to embed in our company portal and this would be really useful. Right now I'm going to have to statically define in the configuration of the portlet which issues to use even tho I have an issue scheme setup just for help desk issues.
Another useful feature would be to be able to specify priority schemes for projects. It's about the only thing that you can't customize on a per project basis and it would be tremendously useful for our planned usage. Otherwise, we wind up with "ASAP", "Next Couple of days", etc. as priorities on our software projects and "Bug", "Improvement", etc. as priorities in the help desk project.
Should I submit these suggestions somewhere else?
Thanks again for all the help,
Rich
May 16, 2006
Nick Menere says:
Sorry Rich. Issue type Scheme is unavailable at this time. Priorities and reso...Sorry Rich.
Issue type Scheme is unavailable at this time.
Priorities and resolutions are still not able to be configured on project by project basis. These are already logged as improvments on http://jira.atlassian.com.
Developer related questions are best asked on our forums - http://forums.atlassian.com
Cheers,
Nick
Jun 26, 2006
Nathaniel Pryce says:
I'm looking at the WSDL. Where are the argument names? Look at this:...I'm looking at the WSDL. Where are the argument names? Look at this:
<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>
in0, in1, in2... WTF?!? How do I get descriptive parameter names?
Jun 29, 2006
Dylan Etkin says:
Hi Nathaniel, Looking at the WSDL is not the best way to see how our SOAP API w...Hi Nathaniel,
Looking at the WSDL is not the best way to see how our SOAP API works, I would suggest using the javadocs which you can find here, http://www.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/. You will want to look at the JiraSoapService javadoc.
I hope this helps,
Dylan
Jul 03, 2006
Nathaniel Pryce says:
That's a cop-out. I build the Java binding from the WSDL, as suggested by the d...That's a cop-out. I build the Java binding from the WSDL, as suggested by the documentation, and then use the Java API in the IDE. The auto-complete is therefore completely worthless. It looks as if the WSDL is being generated from class files that have not been compiled with debug information. It's a bug in the build script that's trivial to fix.
Jul 05, 2006
Dylan Etkin says:
Hi Nathaniel, We always compile all our source with debug information. What you...Hi Nathaniel,
We always compile all our source with debug information. What you are refering to is very well summed up in one of the axis mailing list messages:
Note the last sentence, the problem is that we are exposing interfaces and not classes via SOAP. We have a few problems that we run into using Axis and we are planning on investigating other alternatives for SOAP/XMLRPC generation in the future.
Jun 27, 2006
Sikhar J Saikia says:
Do we have any Sample SOAP client written in PERL? How different it will be from...Do we have any Sample SOAP client written in PERL? How different it will be from XML RPC Clients?
Oct 10, 2006
Yuen-Chi Lian says:
Hello Sikhar, In terms of syntax, it doesn't look much different compared with ...Hello Sikhar,
In terms of syntax, it doesn't look much different compared with XML-RPC, perhaps, a bit simpler (afterall, it's SIMPLE object access protocol).
Let me know if this example helps you:
#!/usr/bin/perl use SOAP::Lite; use Data::Dumper; my $soap = SOAP::Lite->proxy("http://localhost:8090/rpc/soap/jirasoapservice-v2?wsdl"); my $auth = $soap->login("admin", "admin"); # Update value of custom field my $updatedIssue = $soap->updateIssue($auth->result(), "MYC-2", [ {"id" => SOAP::Data->type(string => "summary"), "values" => [SOAP::Data->type(string => "myc foobar")] }, {"id" => "customfield_10021", "values" => ["another"] } ]); # Get an issue to retrieve the custom field value my $issue = $soap->getIssue($auth->result(), "MYC-2"); $cfValues = $issue->result()->{customFieldValues}; foreach(@$cfValues){ $cf = $_; if($cf->{customfieldId} eq "customfield_10021"){ print "Custom field value for this is: \"".$cf->{values}[0]."\""; } }Cheers,
Yuen-Chi
Mar 25, 2008
taylor steil says:
Hi Yuen-Chi, Thanks a lot for the perl example, but I just wanted to add that i...Hi Yuen-Chi,
Thanks a lot for the perl example, but I just wanted to add that in your example, if the password or username is all numbers, the SOAP call will break because it thinks it is an integer datatype. I found a resolution in this thread: http://jira.atlassian.com/browse/JRA-13078
Here is my changed code:
I also think it is worth noting that if anyone is having problems with the perl SOAP jira interface, it is helpful to include this snippet of code to print out any error or debug messages in the request:
print join ', ', $auth->faultcode, $auth->faultstring;If I had known those things from the start it would have saved me a lot of time.
Cheers,
Taylor
May 04, 2009
Gustavo Chaves says:
Hi Yuen-Chi and Taylor, I used your ideas to implement a module to make the Perl...Hi Yuen-Chi and Taylor, I used your ideas to implement a module to make the Perl interface to JIRA a bit easier. It's released at CPAN as http://search.cpan.org/dist/JIRA-Client/.
Hope you find it useful.
Gustavo.
Jul 03, 2006
Nathaniel Pryce says:
I'm not sure if this is a SOAP thing or a bug in Jira, but if I send a bad reque...I'm not sure if this is a SOAP thing or a bug in Jira, but if I send a bad request to the SOAP API the HTTP reply has the code 500 (internal server error) when it should be something in the 400's (client error).
Jul 05, 2006
Dylan Etkin says:
Hi Nathaniel, Perhaps you could be a bit more specific, what exactly do you mea...Hi Nathaniel,
Perhaps you could be a bit more specific, what exactly do you mean by "send a bad request"? This sounds reasonable, perhaps opening an Improvement request at http://jira.atlassian.com with the full details of the behavior would be the best action to take.
Jul 15, 2006
Yuen-Chi Lian says:
If you are having troubles to upload files to JIRA via SOAP client written in ot...If you are having troubles to upload files to JIRA via SOAP client written in other languages (perl, python, php, etc.), please refer to the documentation of the toolkit you are using for details about converting a file to xsd_base64Binary.
Here is a simple Python example which uses the SOAPpy's Types.base64BinaryType wrapper:
#!/usr/bin/python import SOAPpy, array, base64 from SOAPpy import Types soap = SOAPpy.WSDL.Proxy('http://localhost:8090/rpc/soap/jirasoapservice-v2?wsdl') jirauser='test' passwd='sphere' auth = soap.login(jirauser, passwd) filename = "test-attachment.exe" sarray = [filename] harray = array.array('h') print "Using: %s.." % filename try: try: f = open(filename, "rb") while True: harray.fromfile(f, 2048) except EOFError: print "<< EOF >>" except Exception, e: print "Exception: ", e finally: print "Massaging.." b64t = Types.base64BinaryType(harray.tostring()) b64ts = [b64t] print "Contacting server.." soap.addAttachmentsToIssue(auth, 'QA-111', sarray, b64ts) print "Commited to JIRA!"May 11, 2009
David Coultous says:
Hi I am using this code, and it works for most attachments. However, when used ...Hi
I am using this code, and it works for most attachments. However, when used on zip files the resultant zip file cannot be unzipped on our linux server as it appears to be missing the last character. (The same zip file can be unzipped successfully on Windows).
Adding a null character to the end of the attached zip file appears to get around the problem but feels very hacky.
Does anyone have a better understanding of what is going on here, so that a better "fix" can be made?
Thanks
David
Jul 19, 2006
Ugo Cei says:
I don't see any method in the API to link issues or create subtasks. Is that sup...I don't see any method in the API to link issues or create subtasks. Is that supported?
Jul 20, 2006
Yuen-Chi Lian says:
Hi Ugo, Yes, the current SOAP service does not support subtask creation. You wi...Hi Ugo,
Yes, the current SOAP service does not support subtask creation. You will need to modify the source code in order to do that.
The classes that you will need to look into are:
Hope it helps,
Yuen-Chi
Sep 04, 2006
Clemens Reimann says:
Hello Yuen-Chi, is there any way using SOAP to link one issue to another? Rega...Hello Yuen-Chi,
is there any way using SOAP to link one issue to another?
Regards
Clemens
Sep 05, 2006
Yuen-Chi Lian says:
Hello Clemens, I'm sorry that it is currently not supported. You may consider e...Hello Clemens,
I'm sorry that it is currently not supported. You may consider extending the plugin yourself or creating a feature request.
Cheers,
Yuen-Chi
Jul 20, 2006
Ugo Cei says:
Yuen-Chi, any chances of having this in one of the next releases? Is there a JI...Yuen-Chi,
any chances of having this in one of the next releases? Is there a JIRA issue for this?
Jul 20, 2006
Yuen-Chi Lian says:
I have created a feature request at JRA-10656. Feel free to comment on it, cast ...I have created a feature request at JRA-10656. Feel free to comment on it, cast your vote, or watch it to be notified of further development.
Cheers,
Yuen-Chi
Aug 17, 2006
Yuen-Chi Lian says:
FYI, RemoteVersion's sequence value is set like this, e.g. sequence = 2 from ...FYI,
RemoteVersion's sequence value is set like this, e.g. sequence = 2
from (in respect to the order as shown in the Manage Versions page):
to:
Cheers,
Yuen-Chi
Aug 31, 2006
Ugo Cei says:
I have a question about the validity of tokens returned by the login method. I a...I have a question about the validity of tokens returned by the login method. I am storing the token indefinetely in order to avoid having to call login before every method call. However it seems that after some time the token is no longer valid and I have to login again.
Is there a way to know if a token is still valid before calling a method?
Sep 01, 2006
Yuen-Chi Lian says:
Hello Ugo, Unfortunately, this is not supported by JIRA at the moment. Perhaps ...Hello Ugo,
Unfortunately, this is not supported by JIRA at the moment. Perhaps you can try modifying the DEFAULT_TIMEOUT constant of com.atlassian.jira.rpc.auth.TokenManagerImpl to prolong the session time or modify com.atlassian.jira.rpc.soap.JiraSoapServiceImpl to add new functions.
There's currently a feature request with regards to this being tracked at JRA-11015, feel free to comment and vote on it.
Cheers,
Yuen-Chi
Jun 25, 2009
Anonymous says:
Could you please give a code example (preferably Perl) as to how to modify the D...Could you please give a code example (preferably Perl) as to how to modify the DEFAULT_TIMEOUT constant once you have logged in and received the authentication token? Thank you very much!
Sep 13, 2006
Stefan Schmidt says:
Interestingly the WSDL works with .NET v1.1 but doesn't seem to work with .NET v...Interestingly the WSDL works with .NET v1.1 but doesn't seem to work with .NET v2.0. After I generated the client stubs (with the wsdl.exe contained in the .NET framework) I do:
... The following exception is thrown suggesting that the server is returning content type text/plain rather than text/xml. Does anyone have an idea how to fix this?
Client found response content type of 'text/plain; charset=UTF-8', but expected 'text/xml'.
The request failed with the error message:
--
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:loginResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://soap.rpc.jira.atlassian.com"><loginReturn xsi:type="xsd:string">Htmt499a48</loginReturn></ns1:loginResponse></soapenv:Body></soapenv:Envelope>
--.
Sep 13, 2006
Stefan Schmidt says:
Reading this http://www.alotsoft.com/alotsoftweb/download/UserGuideCs.pdf sugges...Reading this http://www.alotsoft.com/alotsoftweb/download/UserGuideCs.pdf suggests that this could be caused by .NET not supporting 'MIME SOAP with Attachments'?!?!
Aug 04, 2009
Anonymous says:
can you login rightly? I add a web service reference to http:/...can you login rightly? I add a web service reference to http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
as test. so I can login it with right username and pwd.such as
test.JiraSoapServiceClient a = new test.JiraSoapServiceClient();
string token= a.login("UserName", "pwd");
Oct 25, 2006
Benjill Cubas says:
I'm using SOAP to update issues by reading a text file with the updated values.&...I'm using SOAP to update issues by reading a text file with the updated values. I'm trying to replicate it to read values from an XML file provide with values used to either create or edit issue in JIRA. I'm not XML expert so can you help me understand how to read this information into the SOAP client?
Oct 26, 2006
Yuen-Chi Lian says:
Hello Benjill, May I know which programming language you are using? You can alw...Hello Benjill,
May I know which programming language you are using? You can always google to find simple tutorials for XML parsing.
If you are writing a Java client, you may try the dom4j library.
Cheers,
Yuen-Chi
Nov 02, 2006
Kartik says:
Hi, I have written a small utility using Jira RPC service. I need to get the "O...Hi, I have written a small utility using Jira RPC service. I need to get the "Original Estimate" from my RemoteIssue. How do I do this? Thanks much. Regards, Kartik
Dec 05, 2006
Yuen-Chi Lian says:
Hello Kartik, It doesn't seem like it's supported in the RemoteIssue object, I'...Hello Kartik,
It doesn't seem like it's supported in the RemoteIssue object, I'm afraid that you'll need to modify its source code.
Cheers,
Yuen-Chi Lian
Dec 12, 2006
Chris says:
Anyone has this problem? window.SyntaxHighlighter.config.clipboardSwf =...Anyone has this problem?
Dec 12, 2006
Yuen-Chi Lian says:
Hello Chris, The Maven 1 repository has migrated to http://mirrors.ibiblio.org/...Hello Chris,
The Maven 1 repository has migrated to http://mirrors.ibiblio.org/pub/mirrors/maven.
For more information, please refer to this entry in our development blog: Maven 1 repository changes
Cheers,
Yuen-Chi Lian
Dec 15, 2006
Peter Brandström says:
Hi there, It's great to have open APIs, but I need to change the issue type and...Hi there,
It's great to have open APIs, but I need to change the issue type and I don't understand your way of thinking. I'm using Python and I first tried the XML-RPC API:
>>> s.jira1.updateIssue(auth, jira_key, { 'type': '16'}) Traceback (most recent call last): File "<pyshell#59>", line 1, in ? s.jira1.updateIssue(auth, jira_key, { 'type': '16'}) File "C:\Program\Python22\lib\xmlrpclib.py", line 821, in __call__ return self.__send(self.__name, args) File "C:\Program\Python22\lib\xmlrpclib.py", line 975, in __request verbose=self.__verbose File "C:\Program\Python22\lib\xmlrpclib.py", line 853, in request return self.parse_response(h.getfile()) File "C:\Program\Python22\lib\xmlrpclib.py", line 896, in parse_response return u.close() File "C:\Program\Python22\lib\xmlrpclib.py", line 571, in close raise apply(Fault, (), self._stack[0]) Fault: <Fault 0: 'java.lang.Exception: java.lang.ClassCastException'>Then I tried the SOAP api. Acording to your example I have the key is "issuetype":
>>> soap.updateIssue(auth, 'GPLMSDP-9', [{'id': 'issuetype', 'values': '4'}]) <SOAPpy.Types.structType multiRef at 20798992>: {'key': 'GPLMSDP-9', 'priority': '2', 'attachmentNames': None, 'votes': 0L, 'updated': (2006, 12, 15, 16, 38, 44.0), 'description': None, 'project': 'GPLMSDP', 'created': (2006, 3, 24, 15, 44, 20.0), 'customFieldValues': [], 'type': '4', ... }Which works, but why does the result come back with a key "type"??? So now back to XML-RPC:
>>> s.jira1.updateIssue(auth, jira_key, { 'issuetype': '16'}) Traceback (most recent call last): File "<pyshell#51>", line 1, in ? s.jira1.updateIssue(auth, jira_key, { 'issuetype': '16'}) File "C:\Program\Python22\lib\xmlrpclib.py", line 821, in __call__ return self.__send(self.__name, args) File "C:\Program\Python22\lib\xmlrpclib.py", line 975, in __request verbose=self.__verbose File "C:\Program\Python22\lib\xmlrpclib.py", line 853, in request return self.parse_response(h.getfile()) File "C:\Program\Python22\lib\xmlrpclib.py", line 896, in parse_response return u.close() File "C:\Program\Python22\lib\xmlrpclib.py", line 571, in close raise apply(Fault, (), self._stack[0]) Fault: <Fault 0: 'java.lang.Exception: java.lang.ClassCastException'>So it still doesn't work!? Why? Let's try making it a list:
>>> s.jira1.updateIssue(auth, jira_key, { 'issuetype': ['16']})And that works. Incidentally you can send in 'type' without getting any errors, but nothing changes. Very odd.
Where can I find documentation on what the issue type fields are called, since what I get back obviously doesn't match what I need to send in? And whether I should send a list or a string or an integer because it varies a lot. It gets so difficult then...
A lot of the other stuff works well, why this is so messed up I don't understand
Cheers,
Peter
Dec 17, 2006
Jeff Brooks says:
Hi Peter- The JiraSoapService api can be found here: JiraSoapService api updat...Hi Peter-
The JiraSoapService api can be found here: JiraSoapService api
updateIssue() looks like:
The RemoteFieldValue[] constructor is:
So, yes, it appears that your final solution matches the constructor.
Hopefully this helps!
Jeff
Dec 18, 2006
Yuen-Chi Lian says:
Hi Peter, Let me know if this page addresses your problem: http://forums.atl...Hi Peter,
Let me know if this page addresses your problem:
To correctly define the field type and such, it's best to refer to the WSDL.
Cheers,
Yuen-Chi Lian
Dec 18, 2006
Peter Brandström says:
Hello, I've used your APIs, both XML-RPC (preferred for simplicity) and SOAP an...Hello,
I've used your APIs, both XML-RPC (preferred for simplicity) and SOAP and the part I don't understand is how I could possibly figure out that the key is 'issuetype'??
The response contains the key 'type'. Afaict the WSDL also uses 'type', at least I cannot find the word "issuetype" in it. The JiraSoapService and ditto XmlRpc javadoc doesn't say anything about the field names. Incidentally the XmlRpc doc contains slightly more documentation than the SOAP one. Am I blind?
The APIs are a terrific thing, they would be even better if the documentation was upped a bit!
Cheers,
Peter
Dec 18, 2006
Peter Brandström says:
And to add to the confusion, 'type' is a perfectly valid key except nothing happ...And to add to the confusion, 'type' is a perfectly valid key except nothing happens when you try to modify it, you don't even get an error
Dec 19, 2006
Yuen-Chi Lian says:
Hi Peter, Please use the getFieldsForEdit to retrieve the list of possible fiel...Hi Peter,
Please use the getFieldsForEdit to retrieve the list of possible fields if you're updating via SOAP,
e.g.
Result:
FYI, there will be a major rework on the Remote API in our future release. I can't guarantee when it'll be though.
Regards,
Yuen-Chi Lian
Mar 22, 2007
Yogesh Sinha says:
Hi, I am trying to update the issue and I am trying to update its "Fix Version'...Hi,
I am trying to update the issue and I am trying to update its "Fix Version's" field but this fields does not appear in when I callgetFieldsForEdit methods. Also somebody knows how to use the method releaseVersion. I am trying to release a version but its not happening.
Yogesh
Dec 29, 2006
Aman King says:
Hi, does anyone know of a SOAP implementation/library for JavaScript? There's a...Hi, does anyone know of a SOAP implementation/library for JavaScript?
There's a good one for XML-RPC: http://jsolait.net/wiki/documentation/xmlrpc
But since JIRA's SOAP functionality is better than its XML-RPC, I'd like to be able to use it from JavaScript. I want web pages to directly talk to JIRA (AJAXy stuff) instead of having server-side Java, Ruby, etc.
Thanks in advance.
Jan 03, 2007
Yuen-Chi Lian says:
Have you tried the Mozilla SOAPCall()? Cheers, Yuen-Chi LianHave you tried the Mozilla SOAPCall()?
Cheers,
Yuen-Chi Lian
Jan 19, 2007
Dinesh Vasudevan says:
Hello guys , I am relatively new to Jira and I am currently trying to create a ...Hello guys ,
I am relatively new to Jira and I am currently trying to create a application which accesses the JIRA methods via RPC. I started with XML RPC but I had to have an addattachment method called and found out to be absent in XML RPC. Then i thought of having the soap routines. But i dont know here top start from. Firstly i have the atlassian-jira-rpc-plugin-3.7.2-1.jar and the dependent jars in my swing application which is being developed in Eclipse. I went through the page in atlassian where creation of a soap client was depicted but could not find the class JiraSoapServiceService along with other classes in the jar file. Please advice me on how to go about creating a client from the jar files downloaded. I also wanted to know where the jira settings should be given like the url and stuff.
Thank you ,
Dinesh
Jan 19, 2007
Dinesh Vasudevan says:
As in the first example on this page, the first step for creating a SOAP client ...As in the first example on this page, the first step for creating a SOAP client is to get hold of com.atlassian.jira.rpc.soap.service.JiraSoapServiceServiceLocator. However, after downloading and including atlassian-jira-rpc-plugin-3.7.2-1.jar into my project, my Swing application still cannot find the location class. Is the above example outdated or do I need to include some more jira jars?
Please advise soon.
Thanks,
Dinesh
Jan 22, 2007
Yuen-Chi Lian says:
Hello Dinesh, Are you sure the JAR is correctly included in the classpath? Can ...Hello Dinesh,
Are you sure the JAR is correctly included in the classpath? Can you also check the content of the JAR to make sure that you are specifying the packages and classes correctly?
You may try asking your question in the mailing list, someone experienced may be able to help troubleshooting this:
Cheers,
Yuen-Chi Lian
Jan 22, 2007
Dinesh Vasudevan says:
Thanks for the reply Yuen .. I solved my problem by creating a web service clien...Thanks for the reply Yuen .. I solved my problem by creating a web service client available from Eclipse. I gave the wsdl and it created the exact files as the jira client sample jar had. A single jar has been created and it works fine now.
Thanks and regards,
Dinesh
Jan 22, 2007
Dinesh Vasudevan says:
Hey Yuen .. I seem to be stuck with the createProject method in the soap API . I...Hey Yuen ..
I seem to be stuck with the createProject method in the soap API . It gives me errors.
I try to get the security, permission and notification schemes from the list of security, permission and notification schemes and then try to create my own projects as given in the method createProject().
I get this error
AxisFault
faultCode:
Server.userException
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
{}faultData:<cause xmlns:ns2="http://lang.java" xsi:type="ns2:Throwable"><cause xsi:nil="true" xsi:type="ns2:Throwable"/><localizedMessage xsi:type="xsd:string">com.atlassian.jira.project.ProjectManager.refresh(Lorg/ofbiz/core/entity/GenericValue;)V</localizedMessage><message xsi:type="xsd:string">com.atlassian.jira.project.ProjectManager.refresh(Lorg/ofbiz/core/entity/GenericValue;)V</message><stackTrace soapenc:arrayType="ns2:StackTraceElement[53]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:Array"><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.rpc.soap.service.ProjectServiceImpl</className><fileName xsi:type="xsd:string">ProjectServiceImpl.java</fileName><lineNumber xsi:type="xsd:int">229</lineNumber><methodName xsi:type="xsd:string">createProject</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.rpc.soap.service.ProjectServiceImpl</className><fileName xsi:type="xsd:string">ProjectServiceImpl.java</fileName><lineNumber xsi:type="xsd:int">257</lineNumber><methodName xsi:type="xsd:string">createProject</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.rpc.soap.JiraSoapServiceImpl</className><fileName xsi:type="xsd:string">JiraSoapServiceImpl.java</fileName><lineNumber xsi:type="xsd:int">255</lineNumber><methodName xsi:type="xsd:string">createProject</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">sun.reflect.NativeMethodAccessorImpl</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-2</lineNumber><methodName xsi:type="xsd:string">invoke0</methodName><nativeMethod xsi:type="xsd:boolean">true</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">sun.reflect.NativeMethodAccessorImpl</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">sun.reflect.DelegatingMethodAccessorImpl</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">java.lang.reflect.Method</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.providers.java.RPCProvider</className><fileName xsi:type="xsd:string">RPCProvider.java</fileName><lineNumber xsi:type="xsd:int">397</lineNumber><methodName xsi:type="xsd:string">invokeMethod</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.providers.java.RPCProvider</className><fileName xsi:type="xsd:string">RPCProvider.java</fileName><lineNumber xsi:type="xsd:int">186</lineNumber><methodName xsi:type="xsd:string">processMessage</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.providers.java.JavaProvider</className><fileName xsi:type="xsd:string">JavaProvider.java</fileName><lineNumber xsi:type="xsd:int">323</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.strategies.InvocationStrategy</className><fileName xsi:type="xsd:string">InvocationStrategy.java</fileName><lineNumber xsi:type="xsd:int">32</lineNumber><methodName xsi:type="xsd:string">visit</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.SimpleChain</className><fileName xsi:type="xsd:string">SimpleChain.java</fileName><lineNumber xsi:type="xsd:int">118</lineNumber><methodName xsi:type="xsd:string">doVisiting</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.SimpleChain</className><fileName xsi:type="xsd:string">SimpleChain.java</fileName><lineNumber xsi:type="xsd:int">83</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.handlers.soap.SOAPService</className><fileName xsi:type="xsd:string">SOAPService.java</fileName><lineNumber xsi:type="xsd:int">453</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.server.AxisServer</className><fileName xsi:type="xsd:string">AxisServer.java</fileName><lineNumber xsi:type="xsd:int">281</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.transport.http.AxisServlet</className><fileName xsi:type="xsd:string">AxisServlet.java</fileName><lineNumber xsi:type="xsd:int">699</lineNumber><methodName xsi:type="xsd:string">doPost</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">javax.servlet.http.HttpServlet</className><fileName xsi:type="xsd:string">HttpServlet.java</fileName><lineNumber xsi:type="xsd:int">709</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.transport.http.AxisServletBase</className><fileName xsi:type="xsd:string">AxisServletBase.java</fileName><lineNumber xsi:type="xsd:int">327</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">javax.servlet.http.HttpServlet</className><fileName xsi:type="xsd:string">HttpServlet.java</fileName><lineNumber xsi:type="xsd:int">802</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.servlet.rpc.LazyAxisDecoratorServlet</className><fileName xsi:type="xsd:string">LazyAxisDecoratorServlet.java</fileName><lineNumber xsi:type="xsd:int">55</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">252</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.filters.AccessLogFilter</className><fileName xsi:type="xsd:string">AccessLogFilter.java</fileName><lineNumber xsi:type="xsd:int">51</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.seraph.filter.SecurityFilter</className><fileName xsi:type="xsd:string">SecurityFilter.java</fileName><lineNumber xsi:type="xsd:int">182</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.seraph.filter.LoginFilter</className><fileName xsi:type="xsd:string">LoginFilter.java</fileName><lineNumber xsi:type="xsd:int">177</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.util.profiling.filters.ProfilingFilter</className><fileName xsi:type="xsd:string">ProfilingFilter.java</fileName><lineNumber xsi:type="xsd:int">132</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.filters.ProfilingAndErrorFilter</className><fileName xsi:type="xsd:string">ProfilingAndErrorFilter.java</fileName><lineNumber xsi:type="xsd:int">35</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.filters.ActionCleanupDelayFilter</className><fileName xsi:type="xsd:string">ActionCleanupDelayFilter.java</fileName><lineNumber xsi:type="xsd:int">39</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.core.filters.AbstractEncodingFilter</className><fileName xsi:type="xsd:string">AbstractEncodingFilter.java</fileName><lineNumber xsi:type="xsd:int">37</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardWrapperValve</className><fileName xsi:type="xsd:string">StandardWrapperValve.java</fileName><lineNumber xsi:type="xsd:int">213</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardContextValve</className><fileName xsi:type="xsd:string">StandardContextValve.java</fileName><lineNumber xsi:type="xsd:int">178</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardHostValve</className><fileName xsi:type="xsd:string">StandardHostValve.java</fileName><lineNumber xsi:type="xsd:int">126</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.valves.ErrorReportValve</className><fileName xsi:type="xsd:string">ErrorReportValve.java</fileName><lineNumber xsi:type="xsd:int">105</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardEngineValve</className><fileName xsi:type="xsd:string">StandardEngineValve.java</fileName><lineNumber xsi:type="xsd:int">107</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.connector.CoyoteAdapter</className><fileName xsi:type="xsd:string">CoyoteAdapter.java</fileName><lineNumber xsi:type="xsd:int">148</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.coyote.http11.Http11Processor</className><fileName xsi:type="xsd:string">Http11Processor.java</fileName><lineNumber xsi:type="xsd:int">869</lineNumber><methodName xsi:type="xsd:string">process</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler</className><fileName xsi:type="xsd:string">Http11BaseProtocol.java</fileName><lineNumber xsi:type="xsd:int">664</lineNumber><methodName xsi:type="xsd:string">processConnection</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.tomcat.util.net.PoolTcpEndpoint</className><fileName xsi:type="xsd:string">PoolTcpEndpoint.java</fileName><lineNumber xsi:type="xsd:int">527</lineNumber><methodName xsi:type="xsd:string">processSocket</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.tomcat.util.net.LeaderFollowerWorkerThread</className><fileName xsi:type="xsd:string">LeaderFollowerWorkerThread.java</fileName><lineNumber xsi:type="xsd:int">80</lineNumber><methodName xsi:type="xsd:string">runIt</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable</className><fileName xsi:type="xsd:string">ThreadPool.java</fileName><lineNumber xsi:type="xsd:int">684</lineNumber><methodName xsi:type="xsd:string">run</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns2:StackTraceElement"><className xsi:type="xsd:string">java.lang.Thread</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">run</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace></stackTrace></cause><targetException xmlns:ns3="http://lang.java" xsi:type="ns3:Throwable"><cause xsi:nil="true" xsi:type="ns3:Throwable"/><localizedMessage xsi:type="xsd:string">com.atlassian.jira.project.ProjectManager.refresh(Lorg/ofbiz/core/entity/GenericValue;)V</localizedMessage><message xsi:type="xsd:string">com.atlassian.jira.project.ProjectManager.refresh(Lorg/ofbiz/core/entity/GenericValue;)V</message><stackTrace soapenc:arrayType="ns3:StackTraceElement[53]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:Array"><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.rpc.soap.service.ProjectServiceImpl</className><fileName xsi:type="xsd:string">ProjectServiceImpl.java</fileName><lineNumber xsi:type="xsd:int">229</lineNumber><methodName xsi:type="xsd:string">createProject</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.rpc.soap.service.ProjectServiceImpl</className><fileName xsi:type="xsd:string">ProjectServiceImpl.java</fileName><lineNumber xsi:type="xsd:int">257</lineNumber><methodName xsi:type="xsd:string">createProject</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.rpc.soap.JiraSoapServiceImpl</className><fileName xsi:type="xsd:string">JiraSoapServiceImpl.java</fileName><lineNumber xsi:type="xsd:int">255</lineNumber><methodName xsi:type="xsd:string">createProject</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">sun.reflect.NativeMethodAccessorImpl</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-2</lineNumber><methodName xsi:type="xsd:string">invoke0</methodName><nativeMethod xsi:type="xsd:boolean">true</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">sun.reflect.NativeMethodAccessorImpl</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">sun.reflect.DelegatingMethodAccessorImpl</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">java.lang.reflect.Method</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.providers.java.RPCProvider</className><fileName xsi:type="xsd:string">RPCProvider.java</fileName><lineNumber xsi:type="xsd:int">397</lineNumber><methodName xsi:type="xsd:string">invokeMethod</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.providers.java.RPCProvider</className><fileName xsi:type="xsd:string">RPCProvider.java</fileName><lineNumber xsi:type="xsd:int">186</lineNumber><methodName xsi:type="xsd:string">processMessage</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.providers.java.JavaProvider</className><fileName xsi:type="xsd:string">JavaProvider.java</fileName><lineNumber xsi:type="xsd:int">323</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.strategies.InvocationStrategy</className><fileName xsi:type="xsd:string">InvocationStrategy.java</fileName><lineNumber xsi:type="xsd:int">32</lineNumber><methodName xsi:type="xsd:string">visit</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.SimpleChain</className><fileName xsi:type="xsd:string">SimpleChain.java</fileName><lineNumber xsi:type="xsd:int">118</lineNumber><methodName xsi:type="xsd:string">doVisiting</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.SimpleChain</className><fileName xsi:type="xsd:string">SimpleChain.java</fileName><lineNumber xsi:type="xsd:int">83</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.handlers.soap.SOAPService</className><fileName xsi:type="xsd:string">SOAPService.java</fileName><lineNumber xsi:type="xsd:int">453</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.server.AxisServer</className><fileName xsi:type="xsd:string">AxisServer.java</fileName><lineNumber xsi:type="xsd:int">281</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.transport.http.AxisServlet</className><fileName xsi:type="xsd:string">AxisServlet.java</fileName><lineNumber xsi:type="xsd:int">699</lineNumber><methodName xsi:type="xsd:string">doPost</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">javax.servlet.http.HttpServlet</className><fileName xsi:type="xsd:string">HttpServlet.java</fileName><lineNumber xsi:type="xsd:int">709</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.axis.transport.http.AxisServletBase</className><fileName xsi:type="xsd:string">AxisServletBase.java</fileName><lineNumber xsi:type="xsd:int">327</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">javax.servlet.http.HttpServlet</className><fileName xsi:type="xsd:string">HttpServlet.java</fileName><lineNumber xsi:type="xsd:int">802</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.servlet.rpc.LazyAxisDecoratorServlet</className><fileName xsi:type="xsd:string">LazyAxisDecoratorServlet.java</fileName><lineNumber xsi:type="xsd:int">55</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">252</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.filters.AccessLogFilter</className><fileName xsi:type="xsd:string">AccessLogFilter.java</fileName><lineNumber xsi:type="xsd:int">51</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.seraph.filter.SecurityFilter</className><fileName xsi:type="xsd:string">SecurityFilter.java</fileName><lineNumber xsi:type="xsd:int">182</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.seraph.filter.LoginFilter</className><fileName xsi:type="xsd:string">LoginFilter.java</fileName><lineNumber xsi:type="xsd:int">177</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.util.profiling.filters.ProfilingFilter</className><fileName xsi:type="xsd:string">ProfilingFilter.java</fileName><lineNumber xsi:type="xsd:int">132</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.filters.ProfilingAndErrorFilter</className><fileName xsi:type="xsd:string">ProfilingAndErrorFilter.java</fileName><lineNumber xsi:type="xsd:int">35</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.jira.web.filters.ActionCleanupDelayFilter</className><fileName xsi:type="xsd:string">ActionCleanupDelayFilter.java</fileName><lineNumber xsi:type="xsd:int">39</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">com.atlassian.core.filters.AbstractEncodingFilter</className><fileName xsi:type="xsd:string">AbstractEncodingFilter.java</fileName><lineNumber xsi:type="xsd:int">37</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">202</lineNumber><methodName xsi:type="xsd:string">internalDoFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.ApplicationFilterChain</className><fileName xsi:type="xsd:string">ApplicationFilterChain.java</fileName><lineNumber xsi:type="xsd:int">173</lineNumber><methodName xsi:type="xsd:string">doFilter</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardWrapperValve</className><fileName xsi:type="xsd:string">StandardWrapperValve.java</fileName><lineNumber xsi:type="xsd:int">213</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardContextValve</className><fileName xsi:type="xsd:string">StandardContextValve.java</fileName><lineNumber xsi:type="xsd:int">178</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardHostValve</className><fileName xsi:type="xsd:string">StandardHostValve.java</fileName><lineNumber xsi:type="xsd:int">126</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.valves.ErrorReportValve</className><fileName xsi:type="xsd:string">ErrorReportValve.java</fileName><lineNumber xsi:type="xsd:int">105</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.core.StandardEngineValve</className><fileName xsi:type="xsd:string">StandardEngineValve.java</fileName><lineNumber xsi:type="xsd:int">107</lineNumber><methodName xsi:type="xsd:string">invoke</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.catalina.connector.CoyoteAdapter</className><fileName xsi:type="xsd:string">CoyoteAdapter.java</fileName><lineNumber xsi:type="xsd:int">148</lineNumber><methodName xsi:type="xsd:string">service</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.coyote.http11.Http11Processor</className><fileName xsi:type="xsd:string">Http11Processor.java</fileName><lineNumber xsi:type="xsd:int">869</lineNumber><methodName xsi:type="xsd:string">process</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler</className><fileName xsi:type="xsd:string">Http11BaseProtocol.java</fileName><lineNumber xsi:type="xsd:int">664</lineNumber><methodName xsi:type="xsd:string">processConnection</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.tomcat.util.net.PoolTcpEndpoint</className><fileName xsi:type="xsd:string">PoolTcpEndpoint.java</fileName><lineNumber xsi:type="xsd:int">527</lineNumber><methodName xsi:type="xsd:string">processSocket</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.tomcat.util.net.LeaderFollowerWorkerThread</className><fileName xsi:type="xsd:string">LeaderFollowerWorkerThread.java</fileName><lineNumber xsi:type="xsd:int">80</lineNumber><methodName xsi:type="xsd:string">runIt</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">org.apache.tomcat.util.threads.ThreadPool$ControlRunnable</className><fileName xsi:type="xsd:string">ThreadPool.java</fileName><lineNumber xsi:type="xsd:int">684</lineNumber><methodName xsi:type="xsd:string">run</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace><stackTrace xsi:type="ns3:StackTraceElement"><className xsi:type="xsd:string">java.lang.Thread</className><fileName xsi:nil="true" xsi:type="xsd:string"/><lineNumber xsi:type="xsd:int">-1</lineNumber><methodName xsi:type="xsd:string">run</methodName><nativeMethod xsi:type="xsd:boolean">false</nativeMethod></stackTrace></stackTrace></targetException>
hostname:dvasudevan
java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at dvasudevan.jira.rpc.soap.jirasoapservice_v2.JirasoapserviceV2SoapBindingStub.createProject(JirasoapserviceV2SoapBindingStub.java:2991)
at repository.RepositoryApplication.create_jira_project(RepositoryApplication.java:2238)
at repository.RepositoryApplication$6.doInBackground(RepositoryApplication.java:2169)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Please advise me on the same ..
Thanks and Regards,
Dinesh
Jan 23, 2007
Dinesh Vasudevan says:
Hey guys ..the project is visible only after i restart the apache tomcat server ...Hey guys ..the project is visible only after i restart the apache tomcat server .. Could anyone please help me with this issue ?
Thanks and Regards
Dinesh
Jan 23, 2007
Yuen-Chi Lian says:
Hello Dinesh, May I know which version of JIRA you're using? It may be one of t...Hello Dinesh,
May I know which version of JIRA you're using? It may be one of these reported problems: JRA-7016, JRA-9812, JRA-10438
I'd advise you to create a support request on this instead and provide us more details. Alternatively, you can ask your question in the jira-developer mailing list, someone who has experienced this may be able to shed some light on your problem.
Cheers,
Yuen-Chi Lian
Jan 24, 2007
Dinesh Vasudevan says:
Hi Yuen , I am using Atlassian JIRA™ the Professional Issue Tracker...Hi Yuen ,
I am using Atlassian JIRA™ the Professional Issue Tracker. (Enterprise Edition, Version: 3.6.5)
Thanks and Regards,
Dinesh
Jan 24, 2007
Dinesh Vasudevan says:
Hi Yuen , Could u also tell me how i could download an attachment from a ...Hi Yuen ,
Could u also tell me how i could download an attachment from a particular issue ?? I would like to download all attachments from a particular issue and then check them in the application.
Thanks and Regards,
Dinesh
Jan 24, 2007
Yuen-Chi Lian says:
There is an issue tracking something similar with this at JRA-11180. Cheers, Yu...There is an issue tracking something similar with this at JRA-11180.
Cheers,
Yuen-Chi Lian
Jan 24, 2007
Dinesh Vasudevan says:
Hi Yuen, I tried using the getAttachments method but even if there are at...Hi Yuen,
I tried using the getAttachments method but even if there are attachments in the issue, the method returns me null. I don't know why this happens. Please help with the various possibilities by which i could download this attachment using java.
Thanks and Regards,
Dinesh
May 18, 2007
Denis Popov says:
Hello, I'm using python client, problem is API didnt support addComment with dif...Hello, I'm using python client, problem is API didnt support addComment with different assigner.
Could you help me ?
Jul 22, 2007
kiran reddy says:
Hi, I am trying the build/run the sample SOAP client . I get the foll...Hi,
I am trying the build/run the sample SOAP client . I get the following errors.
I have all along worked with ANT. ( not familiar with Maven much)
Please let me know if I am missing something .
I dont see the following classes JiraSoapServiceService, JiraSoapServiceServiceLocator,JiraSoapService. Which .jar file has these classes?Here is the Maven log .......
C:\kiran\jira-rpc-samples-3.6-1>maven
__ __
| \/ |_ _Apache_ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|| |_,|_/__|||_| v. 1.0
plugin maven-pom-plugin-1.5.1 is cached (dynatag dep) but no longer present
Cache invalidated due to out of date plugins
Attempting to download dom4j-1.4-dev-8.jar.
475K downloaded
Attempting to download commons-jelly-20030902.160215.jar.
150K downloaded
Attempting to download commons-jelly-tags-jsl-20030211.143151.jar.
14K downloaded
Attempting to download commons-jelly-tags-log-20030211.142821.jar.
8K downloaded
Attempting to download commons-jelly-tags-velocity-20030303.205659.jar.
7K downloaded
Attempting to download commons-jelly-tags-xml-20040613.030723.jar.
33K downloaded
Attempting to download commons-logging-1.0.3.jar.
30K downloaded
Attempting to download velocity-1.4-dev.jar.
505K downloaded
Attempting to download xml-apis-1.0.b2.jar.
106K downloaded
Attempting to download isorelax-20030108.jar.
188K downloaded
Attempting to download jing-20030619.jar.
475K downloaded
Attempting to download xerces-2.4.0.jar.
874K downloaded
Attempting to download commons-io-20030203.000550.jar.
59K downloaded
Attempting to download commons-net-1.1.0.jar.
139K downloaded
Attempting to download commons-httpclient-2.0.jar.
217K downloaded
Attempting to download jsch-0.1.5.jar.
79K downloaded
Attempting to download junit-3.8.1.jar.
118K downloaded
Attempting to download commons-jelly-tags-antlr-20030211.143720.jar.
7K downloaded
Attempting to download antlr-2.7.2.jar.
349K downloaded
Plugin 'maven-deploy-plugin' in project 'Atlassian JIRA Sample SOAP client' is not available
BUILD FAILED
File...... C:\kiran\jira-rpc-samples-3.6-1\maven.xml
Element... attainGoal
Line...... 4
Column.... 38
No goal [axis:compile]
Total time: 1 minutes 7 seconds
Finished at: Sun Jul 22 08:33:06 EDT 2007
C:\kiran\jira-rpc-samples-3.6-1>maven java:compile
__ __
| \/ |_ _Apache_ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|| |_,|_/__|||_| v. 1.0
BUILD FAILED
File...... C:\kiran\jira-rpc-samples-3.6-1\maven.xml
Element... attainGoal
Line...... 4
Column.... 38
No goal [axis:compile]
Total time: 1 seconds
Finished at: Sun Jul 22 08:59:38 EDT 2007
C:\kiran\jira-rpc-samples-3.6-1>maven test
__ __
| \/ |_ _Apache_ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|| |_,|_/__|||_| v. 1.0
BUILD FAILED
File...... C:\kiran\jira-rpc-samples-3.6-1\maven.xml
Element... attainGoal
Line...... 4
Column.... 38
No goal [axis:compile]
Total time: 1 seconds
Finished at: Sun Jul 22 09:00:00 EDT 2007
C:\kiran\jira-rpc-samples-3.6-1>maven build:end
__ __
| \/ |_ _Apache_ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|| |_,|_/__|||_| v. 1.0
BUILD SUCCESSFUL
Total time: 1 seconds
Finished at: Sun Jul 22 09:02:32 EDT 2007
C:\kiran\jira-rpc-samples-3.6-1>maven -u
__ __
| \/ |_ _Apache_ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|| |_,|_/__|||_| v. 1.0
Project Goals
=============
Undocumented goals :
fetch-wsdl
release
C:\kiran\jira-rpc-samples-3.6-1>maven java:compile
__ __
| \/ |_ _Apache_ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|| |_,|_/__|||_| v. 1.0
BUILD FAILED
File...... C:\kiran\jira-rpc-samples-3.6-1\maven.xml
Element... attainGoal
Line...... 4
Column.... 38
No goal [axis:compile]
Total time: 1 seconds
Finished at: Sun Jul 22 09:03:32 EDT 2007
C:\kiran\jira-rpc-samples-3.6-1>
Aug 09, 2007
Ross Rowe says:
According to the README.txt file, you need to run the following first: maven pl...According to the README.txt file, you need to run the following first:
maven plugin:download -Dmaven.repo.remote=http://repository.atlassian.com,http://www.ibiblio.org/maven -DartifactId=maven-axis-plugin -DgroupId=atlassian -Dversion=0.7AXIS1.3
Aug 17, 2007
Basilio Vera says:
Is there any option or possible call to LOG WORK DONE? It's the most useful func...Is there any option or possible call to LOG WORK DONE? It's the most useful function for my system.
I'm trying to integrate the RPC-Plugin with a Subversion pre-commit hook, and trough the comment log I'd like to input work done, for example:
"JRA-1234 Fix all feature. [3h]"
Using the RPC-Plugin I'd like to add 3 hours of work done to the task automatically. That's possible modifying the pre-commit hook script of the repository.
Regards,
Basi.
Aug 17, 2007
Mike Miller says:
Note: This does not work at all in maven 2.x. Get a 1.x release here: http://arc...Note: This does not work at all in maven 2.x. Get a 1.x release here: http://archive.apache.org/dist/maven/binaries/
The instructions should be updated to make it clear that it does not work at all in newer versions of maven.
Aug 20, 2007
Mike Miller says:
Using the follwing code, I am attempting to run a filter and get a list of issue...Using the follwing code, I am attempting to run a filter and get a list of issue keys. Interestingly enough it does produce the correct list, however the only field on the RemoteIssue that is not populated is the issue key.
Does anyone have a clue why this would happen?
public String[] getIssueKeys(String user, String pass, String filter) throws ServiceException, RemoteException, RemoteAuthenticationException, com.atlassian.jira.rpc.exception.RemoteException { RemoteIssue[] issues; String[] keys; JiraSoapService service = new JiraSoapServiceServiceLocator().getJirasoapserviceV2(); String token = service.login(user, pass); issues = service.getIssuesFromFilter(token, filter); if(issues != null && issues.length > 0) { keys = new String[issues.length]; for(int x = 0; x < issues.length; x++) { keys[x] = issues[x].getKey(); System.out.println(issues[x].getId() + ": " + issues[x].getKey()); } } else { keys = null; } return keys; }Aug 20, 2007
Mike Miller says:
note: This is a problem with the java client. I ran this direclty and the xml do...note: This is a problem with the java client. I ran this direclty and the xml does contain every field, including the key.
Aug 21, 2007
Mike Miller says:
I figured my problem out. You need to run with the latest version of the RPC plu...I figured my problem out. You need to run with the latest version of the RPC plugin, no matter what version of Jira you have. Plugin version 3.10.2 works just fine with Jira 3.7.2. This should probably be made more clear somewhere.
Aug 21, 2007
Anu V says:
Hi, I am new to JIRA and I tried using the sample SOAP-Client mentioned h...Hi,
I am new to JIRA and I tried using the sample SOAP-Client mentioned here.
My java project complies but when I execute this project from command line I get the below errors:
Could someone please help me out here, its quite urgent.
Thanks !
D:\Dev\samplerpc-plugin\jira-rpc-samples-3.6-1>java -jar release/jira-rpc-sample
s-3.6-1.jar
Running test SOAP client...
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.UnknownHostException: jira.atlassian.com
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.UnknownHostException: j
ira.atlassian.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSoc
ketFactory.java:153)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSoc
ketFactory.java:120)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1
91)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.ja
va:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at _soapclient.JirasoapserviceV2SoapBindingStub.login(JirasoapserviceV2S
oapBindingStub.java:5432)
at com.atlassian.jira_soapclient.SOAPClient.main(SOAPClient.java:29)
{http://xml.apache.org/axis/}hostname:UK094784LT
java.net.UnknownHostException: jira.atlassian.com
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at _soapclient.JirasoapserviceV2SoapBindingStub.login(JirasoapserviceV2S
oapBindingStub.java:5432)
at com.atlassian.jira_soapclient.SOAPClient.main(SOAPClient.java:29)
Caused by: java.net.UnknownHostException: jira.atlassian.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSoc
ketFactory.java:153)
at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSoc
ketFactory.java:120)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1
91)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.ja
va:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
... 11 more
Aug 26, 2007
Darryl Lee says:
Hi -- does that PHP example above really work with ver. 3.10? Specifica...Hi -- does that PHP example above really work with ver. 3.10?
Specifically, I'm wondering about this snippet:
baseurl = soap.getServerInfo(auth)['baseUrl']
newissue = soap.createIssue(auth,{'project': 'TST', 'type': '1', 'summary': 'Issue created with Python!'})
print "Created %s/browse/%s" % (baseurl, newissue['key'])
In the Java sample, it appears that createIssue needs to have an object created by RemoteIssue. However the Python example leads me to believe that you can feed it a much simpler associative array (dictionary). I tried doing something similar in PHP and it's rejecting me.
Oct 15, 2007
Edward Wagner says:
Bunch of beginner questions: Is there any chance there is an updated soap demo ...Bunch of beginner questions:
Is there any chance there is an updated soap demo project?
I saw a comment someplace before about a need to use Atlassian's custom Axis implementation. But can we now use axis-1_4, I do not remember the reason and lost the reference sorry.
I want to get initial environment for Eclipse and roll with it. So I'm trying to put a the needed pieces together.
There is a really nice maven plugin for Eclipse but it is for maven 2.x.
When I get the demo working is there any interest in posting it?
Oct 16, 2007
Patric Wender says:
Edward, absolutely please do. PS I noticed a http://repository.atlassian.com/ji...Edward, absolutely please do.
PS I noticed a http://repository.atlassian.com/jira-rpc-samples/poms/ directory. Not sure but perhaps this got something to do with maven 2.x project object model.
Oct 16, 2007
Edward Wagner says:
I have Eclipse project working against The Atlassian test jira instance and my o...I have Eclipse project working against The Atlassian test jira instance and my own test instance so for I can create test issues.
If I get he project working with Maven 2 I will see if there is a place to post the POMs. However I think this is site config issue not a Maven version issue. I'm not much of a maven user yet though.
I have another problem I'm heving trouble finding a resources about now though. For my jira project time tracking is required. But there does not seem to be a good way to set this field yest I've tried a few variations.
String[] timetrack = new String[] {"1d","1h","0"}
;
struct.put("timetracking", timetrack);
//// and,
// struct.put("originalestimate","10000");
// struct.put("estimate","9000");
// struct.put("spent","0");
////as well as witht he DB name for these fields (prefix with time)
Any chance you know a place I can look for more information about setting timetracking
Oct 19, 2007
William Chever says:
Hi All. Using 3.10 and trying to figure out how to set issue level security via...Hi All.
Using 3.10 and trying to figure out how to set issue level security via a Java SOAP client.
Is this valid?...issue.setSecurity("My Security Level");
Thanks!
Bill
Oct 28, 2007
Sandeep Jangity says:
I don't understand what I am doing wrong. I have the soap client example version...I don't understand what I am doing wrong. I have the soap client example version 3.10.1-src working out of the box with my local JIRA installation. I need to integrate this soap client into my existing java application. I went through various forums on nabble/jira support and still can't figure this out.
Why can't i just add the soap generated client jar from the example to my existing application and invoke methods in my existing application through my java application. I am not using Maven project structure otherwise I am sure I can figure this out.
SOAPClient client = new SOAPClient();
I don't know why that doesn't work. I get all sorts of NoClassDefError's.
- Yes, I've imported all the axis-required jar's into my java application. I've also included the jira-rpc plugin jar and the generated SOAP client-side jar. Can we only use JIRA SOAP plugin if we have a Maven project structure? I don't understand, can someone please clarify?
Thanks,
Sandeep
Nov 02, 2007
Andy Brook says:
Hi Sandeep, The problem is that there are a bunch of dependencies out of using ...Hi Sandeep,
The problem is that there are a bunch of dependencies out of using soap, that you need to satisfy in order to use the soap code. Maven can simplify this. I have built a maven2 library for jira and confluences SOAP interfaces that could be 'depended' on by your project, requiring minimal coding on your part to get running. If you're getting ClassNotFound you dont have all depencies. If you have already grabbed the necessary dependencies there may also be a versioning problem with some of the jars.
You don't need Maven, but it means that once someone else has figured out the dependencies (and versions!) you don't have to.
I'm not sure why there isn't an Atlasian provided jar that has done this yet, Im going to add one to the developer maven2 repo over the weekend in any case as its a faff to build in the first place. This should help people who just want to 'get going'. To illustrate, once you've got such a library, you only need coding like this:
Nov 06, 2007
Patric Wender says:
Hi Andy, Did you manage to create it already. I would be happy to use it.Hi Andy,
Did you manage to create it already. I would be happy to use it.
Nov 09, 2007
Travis J. Winkler says:
Hey Andy - I second Patric's motion. I have a very small app I'm looking to thr...Hey Andy -
I second Patric's motion. I have a very small app I'm looking to throw together and Maven and building the libs are way more than I want to bite off right now.
Thanks,
Travis
Nov 19, 2007
Andy Brook says:
OK, I meant to do this a while back, Ive now created a page that will hopefully ...OK, I meant to do this a while back, Ive now created a page that will hopefully be enough for maven2 savvy people to use. You my need to hunt around for the dependency jars due to licensing (SUN mail/activation etc), Ive put a dependency graph on the page for info.
Well, for what its worth I also added one for Confluence, here
Nov 27, 2007
Joshua Clayton says:
Hi all, I'm in the process of making a nice little wrapper for some SOAP calls....Hi all,
I'm in the process of making a nice little wrapper for some SOAP calls. No (huge) issues so far. However, I was wondering how I'd be able to pull down attachments and display them?
Currently, I am generating the URL based on attachment info and pointing to the respective JIRA URL. This works fine when I'm logged into the JIRA server within that browser; however, if I'm not logged in, the file does not display. This makes sense, as you should have to be logged in to view the attachments to an issue. Following the link results in an unfriendly error message at (/secure/views/securitybreach.jsp):
###
ACCESS DENIED
It seems that you have tried to perform an operation which you are not permitted to perform.
If you think this message is wrong, please consult your administrators about getting the necessary permissions.
###
All of this makes sense to me; I'm requesting a URL that isn't kicking back an image or file but an 'Access Denied' error when not logged in to JIRA. This is a good thing in that security is working. However, in my wrapper, I now cannot guarantee that I will be able to view attached files unless I'm logged in to JIRA AND logged into my wrapper (needs auth token for all the requests).
Are there any suggestions out there as to how I'd be able to do this, if there is a way?
Thanks in advance!
Nov 28, 2007
Joshua Clayton says:
Nevermind; found what I was looking for!Nevermind; found what I was looking for!
Mar 27, 2009
Anonymous says:
What is it that you were looking for?What is it that you were looking for?
Mar 05, 2008
George Cowsar says:
The link at the top of this document that should lead to the Jira Soap API docum...The link at the top of this document that should lead to the Jira Soap API documentation is broken:
http://www.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/com/atlassian/jira/rpc/soap/JiraSoapService.html
Mar 05, 2008
Andrew Lui [Atlassian Technical Writer] says:
Link has been fixed. Thanks for the heads up. Cheers, AndrewLink has been fixed. Thanks for the heads up.
Cheers,
Andrew
Mar 26, 2008
Igor V Demin says:
Tell me please where I can get jar with these classes: JiraSoapServiceService, J...Tell me please where I can get jar with these classes: JiraSoapServiceService, JiraSoapServiceServiceLocator;
There is same question above and no clear answer!!!
It is in example, but I can't use this api without jar or source.
Mar 27, 2008
dinesh vasudevan says:
Hi, I fyou are using Eclipse, use the Web Tools to make a client out of the wsd...Hi,
I fyou are using Eclipse, use the Web Tools to make a client out of the wsdl. This Used Wsdl2java , accepts the wsdl and creates the corresponding Java files. You could then bundle this as a jar and then use it for your individual applications.
http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/WebServiceClient/WebServiceClient.html
http://dev2dev.bea.com/pub/a/2005/09/eclipse_web_tools_platform.html\\
Thanks and Regards,
Dinesh
Mar 27, 2008
Igor V Demin says:
Thanks, but what if I don't use Eclipse? I'm still want to get jar with these cl...Thanks, but what if I don't use Eclipse? I'm still want to get jar with these classes, probably someone can make it public and give me a link? Big thanks for your help, then.
Mar 28, 2008
dinesh vasudevan says:
Use wsdl2java ( that this eclipse plugin indirectly uses ) available from Apache...Use wsdl2java ( that this eclipse plugin indirectly uses ) available from Apache Axis.
http://ws.apache.org/axis/java/user-guide.html
Thanks and Regards,
Dinesh
Mar 27, 2008
taylor steil says:
I just wanted to provide a working php5 (I'm using Ubuntu) example since the oth...I just wanted to provide a working php5 (I'm using Ubuntu) example since the other php examples on this page are for php4.
And these are the pear modules I have installed:
Thanks
-taylor
Aug 14, 2008
sleiman rabah says:
Hi, Thanks for your example, I'm running Ubuntu and PHP5 configured with soap. ...Hi,
Thanks for your example, I'm running Ubuntu and PHP5 configured with soap. but when i execute this command: pear list
I get this out put:
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.2 stable
Console_Getopt 1.2.3 stable
PEAR 1.6.1 stable
Structures_Graph 1.0.2 stable
But I don't see SOAP there, how did you configure SOAP and PEAR?
Thanks.
Apr 17, 2008
bbabeshkin says:
The above works.The above works.
Jun 02, 2008
Ali Ibrahim says:
Is there an updated api anywhere? The example code I'm looking at does stu...Is there an updated api anywhere? The example code I'm looking at does stuff that shouldn't be possible according to the api linked off this page...like creating an instance of JiraSoapService even though it is an interface. Also, there's no description of JiraSoapServiceServiceLocator.
Jun 24, 2008
Brian Williams says:
I would also like to find updated API documentation. In the createIssue() ...I would also like to find updated API documentation. In the createIssue() method, for example, I would like to know which fields are required and which are optional.
Jun 25, 2008
Wojciech Owczarek says:
Guys, What about a setup where security level is required? I'm using Jira 3.12....Guys,
What about a setup where security level is required? I'm using Jira 3.12.2. First of all, there are no methods provided in the SOAP API to get a list of security levels in a given security scheme, then - the "security" property of a RemoteIssue is not even defined in the wsdl definition. So - even if I add a key/value: 'security' => [level_ID] to the issue variable passed to createIssue, I still get:
com.atlassian.jira.rpc.exception.RemoteValidationException: {security=Security Level is required.}I checked the WSDL definition on your web page and it still does not contain any references to security levels. This currently a major showstopper for me. I am using PHP to create a bridge between customer's issue management system and JIRA.
Any ideas?
Jul 01, 2008
Kyle Smith says:
I thought I'd share some code for those of you trying to call addUserToGroup and...I thought I'd share some code for those of you trying to call addUserToGroup and removeUserFromGroup using SOAPpy (tested with SOAPpy 0.11.3 and Jira 3.12.3)
class JiraStructType(SOAPpy.Types.structType): _slots = None _name = None def __init__(self, data = None, typed = 1, attrs = None): if self._name is None: raise Error, 'You cannot create an object of type %s directly.' % \ type(self).__name__ SOAPpy.Types.structType.__init__(self, self._dataToDict(data), self._name, typed, attrs) def _dataToDict(self, data): data_dict = {} for slot in self._slots: data_dict[slot] = data[slot] return data_dict class RemoteUserType(JiraStructType): _slots = [ 'email', 'fullname', 'name' ] _name = 'RemoteUser' class RemoteGroupType(JiraStructType): _slots = [ 'name', 'users' ] _name = 'RemoteGroup' def _dataToDict(self, data): return { 'name' : data['name'], 'users': map(lambda x: RemoteUserType(x), data['users']) }You can use these types to do something like this:
jira = SOAPpy.WSDL.Proxy(YOUR_JIRA_WSDL_URL) auth = jira.login('admin', 'password') user = jira.getUser(auth, 'foo') group = jira.getGroup(auth, 'bar') jira.addUserToGroup(auth, RemoteGroupType(group), RemoteUserType(user))Jul 02, 2008
Joel Spriggs says:
Here's the problem I'm having, please let me know if this has been addressed, bu...Here's the problem I'm having, please let me know if this has been addressed, but I haven't found anything helpful yet.
We have a flex app that uses xml we create based on the Jira Soap Service. We have a need for a field like components, but separate. So we have a single select custom field that we set to segment our issues. Our problem is that we can't get a listing of the selectable options for that custom field through the soap service. We tried using getCustomFields, but it won't return anything unless logged in as an administrator.
Is there anyway to get an enumeration of the selectable items for that custom field?
Thanks,
Joel
Sep 22
Johannes Keukelaar says:
I'm having this problem also. When running SOAP against a Jira server V3.13.3, I...I'm having this problem also. When running SOAP against a Jira server V3.13.3, I don't see any way to figure out any type-related information for a custom field. RemoteCustomFieldValue.getKey() always returns null; suspicious, and it seems like this could be used to indicate what kind of custom field it is.
As is, given that a custom field has value 10001, how do I know if that is a component, version or just plain number?
Jul 08, 2008
Alexander Gusev says:
Guys, How I can export from Jira sub-tasks and Issue Links. There seems to be n...Guys,
How I can export from Jira sub-tasks and Issue Links. There seems to be no such methods in API? I can see thread about adding subtask. But what about just read it from Jira with API?
-ta
Feb 13, 2009
Anonymous says:
I also need to get SubTasks ... some of the comments about the API being missing...I also need to get SubTasks ... some of the comments about the API being missing are YEARS old.
Is there a way to get SubTasks via the SOAP API nowadays? What about via any other API?
Oct 20, 2008
sleiman rabah says:
Here an example of creating a SOAP Client with PHP5 using SOAP extension,This al...Here an example of creating a SOAP Client with PHP5 using SOAP extension,This allow you to create an Issue with specific custom field :
<? try { // Jira WSDL $wsdl = "Your DSL Path"; // Login info $login = "youlogin"; $password = "yourpassword"; // Create the soap Client $client = new soapclient($wsdl); // Login to Jira $login = $client->login( $login,$password); // Custom Field Array $remoteIssue[0] = array ("customfieldId"=>"customfield_10010", "values"=>array ("MAIN")); $remoteIssue[1] = array ("customfieldId"=>"customfield_10011", "values"=>array ("Component Name")); $remoteIssue[2] = array ("customfieldId"=>"customfield_10012", "values"=>array ("Force creation of Complete Release")); $remoteIssue[3] = array ("customfieldId"=>"customfield_10013", "values"=>array ("View:")); $issue = array( "project" => "BREQ", "type" =>5 , "summary" => "Test: Issue created via PHP/SOAP", "customFieldValues" => $remoteIssue ); // Create the Issue $remoteIssue = $client->createIssue( $login,$issue); $remoteProject = $client->getProjectByKey( $login,'BREQ' ); // Log out $logut = $client->logout($login); if($logout == TRUE){ echo 'Logged out'; }else{ echo '<br>Failed to logout'; } }catch(Exception $e){ echo 'Error Caught'; echo '<br>'.$e; } ?>Dec 04, 2008
Tom Wilberding says:
Here is a C# example: Stub code, or skeleton code, is a method of generating se...Here is a C# example:
Stub code, or skeleton code, is a method of generating server class files based off a web service defintion file (WSDL). Most programming languages have SOAP tools designed to generate stub code from a WSDL file.
Visual Studio .NET installs with an application called wsdl.exe which can be used to generate server stub code as well as client code to interact with that service. This file is usually located under the .NET SDK bin directory for example:
The wsdl file supports converting a WSDL file into a .NET language stub/client code. There is a /language argument that can be used to specify the .NET language to generate the stub code file in. The default language is C#. Here are some examples commands using the WSDL file from our local JIRA installation.
This will generate a class called JiraSoapServiceService.cs that can be used to remotely access JIRA via C#.
This class has quite a few methods (see class diagram below or javadocs above). Most can be called synchronously or asynchronously with an event handler.
Here is a simple example program that uses the stub/client code to create a new issue in our JIRA server
using System; using System.Collections.Generic; using System.Text; namespace JiraSoapClient { class JiraSoapClient { public static void createTestMessage() { System.Diagnostics.Debug.WriteLine("Creating a test issue on http://jira/jira ..."); JiraSoapServiceService jiraSoapService = new JiraSoapServiceService(); string token = jiraSoapService.login("jiraadmin", "*****"); string projectStr = "DEV"; RemoteProject project = jiraSoapService.getProjectByKey(token, projectStr); // Create the issue RemoteIssue issue = new RemoteIssue(); issue.project = project.key; List issueTypes = new List(jiraSoapService.getIssueTypesForProject(token, project.id)); foreach (RemoteIssueType issueType in issueTypes) { if (issueType.name.Equals("Bug")) { issue.type = issueType.id; } } List components = new List(jiraSoapService.getComponents(token, project.key)); foreach (RemoteComponent component in components) { if (component.name.Equals("MM - Strategies")) { issue.components = new RemoteComponent[] { component }; } } RemoteUser user = jiraSoapService.getUser(token, "tomw"); issue.reporter = user.name; issue.summary = "This is a new SOAP issue " + DateTime.Now; RemoteIssue returnedIssue = jiraSoapService.createIssue(token, issue); System.Diagnostics.Debug.WriteLine("Successfully created issue http://jira/jira/browse/"+returnedIssue.key); } } }Jan 07, 2009
Bill Prochazka says:
I got timestamps working in Python (at least for worklogs). You have to truncat...I got timestamps working in Python (at least for worklogs). You have to truncate the "day of week","day of year", and DST codes them cast the resulting tuple as a SOAPpy.dateTimeType.
Also, to add a worklog, you can use the following snippit of code:
worklog = {'startDate':dt_today,'timeSpent':'1h','comment':'This is a working WorkLog'} soap.addWorklogAndAutoAdjustRemainingEstimate(auth, issueKey, worklog)Oh, for those using Python and SOAPpy, it may be very helpful to enable debugging:
This will show you everything being sent out and coming back in.
Jan 21, 2009
Sohail Somani says:
What is the interaction expected between the SOAP API and Crowd integration? Do ...What is the interaction expected between the SOAP API and Crowd integration? Do SOAP clients need to do anything different?
Thanks!
Feb 08, 2009
Andrew Lui [Atlassian Technical Writer] says:
Hi Sohail, SOAP doesn't know about Crowd. You just need to provide the username...Hi Sohail,
SOAP doesn't know about Crowd. You just need to provide the username/password when connecting via SOAP and JIRA handles the rest.
Kind Regards,
Andrew
Jan 28, 2009
Anonymous says:
Hi, I want to import my HTML Form into Jira. How can i manage that? With JSP? P...Hi,
I want to import my HTML Form into Jira. How can i manage that? With JSP? PHP? I don´t know JSP... only PHP a bit but i have only worked on databases with php and not with a soap...
i want to create a projekt in jira with my HTML Form fields... plz help me! Im totally confused!
Jan 28, 2009
Andy Brook says:
You could always use email - Jira has a bunch of community provided Jira Mail Pr...You could always use email - Jira has a bunch of community provided Jira Mail Processors, eg Jira Extendable Mail Handler, you would then just have to worry about formatting a simple email rather than getting soap etc setup....
Jan 28, 2009
Anonymous says:
And that works with the <form action"mailto: ..."> , type="Submit" Form fu...And that works with the <form action"mailto: ..."> , type="Submit" Form function?
Jan 28, 2009
Andy Brook says:
MMM, not sure if client side javascript can provide the body of an email, if so,...MMM, not sure if client side javascript can provide the body of an email, if so, you might well be able could generate the formats needed. I was thinking of sending it from the server side where such manipulation is a little easier and you wont be depending on users email being operational....
Jan 29, 2009
Anonymous says:
When i send an email with the submit function i get the form cell name (name) + ...When i send an email with the submit function i get the form cell name (name) + the insert eg: "name=Ralf sex=M happy=ture date=1.1.09". That is the text in my email. Can jira work with this?
i could rename the form cells like the jira cells (reporter for name and duedate for date and so on...)
Jan 29, 2009
Andy Brook says:
Try reading the page linked above to get an idea of what Jira needs in order to ...Try reading the page linked above to get an idea of what Jira needs in order to create an issue, Other mail handlers work in similar ways but irrespective of the format in your form you need to write something to process that form that would either (a) invoke soap or (b) send a mail in the right format ...
Feb 09, 2009
Anonymous says:
I am getting an exception trying to create an issue from java. I have resolved a...I am getting an exception trying to create an issue from java. I have resolved all the initial validation errors resulting from required custom fields. Now the response comes with NullPointerException. I am able to retrieve and update existing issues in jira over soap but create. I found the same exception caused by different version of axis (http://forums.atlassian.com/thread.jspa?messageID=257254529�) but if that was the case I wouldn't be able to retrieve issues either. Thanks.
AxisFault
faultCode:
Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{}faultData:null
hostname:CU253
java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
Feb 15, 2009
Anonymous says:
I get the same NullPointerException as the other Anonymous. Is there not a way ...I get the same NullPointerException as the other Anonymous.
Is there not a way of providing an API in a jar file? I don't use maven. Nor do I want to use maven. I'm starting to think it would be easier to screen scrape the HTML off Jira to do what I want...
Feb 15, 2009
Anonymous says:
Replying to myself... Ok the NullPointer thing is probably from ether the call t...Replying to myself... Ok the NullPointer thing is probably from ether the call to testGetIssueCountForFilter() or the component.setId(COMPONENT_ID). Comment them both out if you are testing against your own instance of Jira.
I still hate the whole maven thing, though...
Feb 16, 2009
Andy Brook says:
Well a judicious search for 'Jira SOAP' would give you JIRA Maven2 SOAP Library ...Well a judicious search for 'Jira SOAP' would give you JIRA Maven2 SOAP Library which is precompiled....
Feb 16, 2009
Anonymous says:
Maybe... but an even more judicious search found me the Jira RMI plugin ([ht...Maybe... but an even more judicious search found me the Jira RMI plugin ([http://confluence.atlassian.com/display/JIRAEXT/JiraRMI|../JIRAEXT/JiraRMI]) which is *way* nicer, IMHO...
Feb 17, 2009
Mahendra Athneria says:
Hi Friends, I am very new to maven. i m trying to create soap client with the g...Hi Friends,
I am very new to maven. i m trying to create soap client with the given client SOAP distribution. i am using Netbeans 6.5 IDE but Netbeans 6.5 support Maven2 and SOAP client distribution is in maven1. how would i open this project into Netbeans6.5.
Help Me
Regards,
Mahendra Athneria
Feb 20, 2009
Anonymous says:
Hi to all; I am new to working with ...Hi to all;
I am new to working with Jira but I have been using Perl for years. I built a small script to pull issues from Jira and dump them to excel using Perl and SOAP::Lite. This works very well on an installtion we have at work in the US. Now I am trying to connect to our Jira server over in the EU and I have been granted access and all. I am able to go to the dashboard and everyhting, look at the Projects get issues in the dashboard displayed and such, butI can not get my Perl code to pull the defects back. The server is set to https for the address so I know I needed to have Crypt-SSLeay and/or Net-SSLeay installed as Perl modules and they are set correctly from what I can tell.
Here is the error that I receive:
404 /securerpc/soap/jirasoapservice-v2 at line 20
Line 20 looks like this my $auth = $soap->login($DEFAULT_USER, $DEFAULT_PASSWORD)->result() or die $!;
I know the login and password work so I am not sure as to why I am getting the 404, maybe the EU group did not set up the RPC or something with the WSDL not sure. Any help would be appreciated.
Mar 04, 2009
naveen dullur says:
hi to all, I am new to j...hi to all,
I am new to jira i m trying to create a soap client with the code mentioned above and i was getting the errors that
cannot locate the class jirasoapserviceservice ,jirasoapserviceservicelocator
i was trying to compile the code with the help of java compiler and it was raising these errors
i imported the class JiraSoapService but i couldnt find the class JiraSoapServiceService and JiraSoapServiceServiceLocator
when i gone through the above it was given that to go through maven plugin
but when i m trying to use maven it is saying you must mention the goals
is there is any alternate way to create a soap client
Help Me out
Thanks in advance!
Mar 16, 2009
Anonymous says:
Hi All, Im also new to the JIRA SOAP API. I want create an issue an to assign ...Hi All,
Im also new to the JIRA SOAP API.
I want create an issue an to assign it to one of the JIRA users. Therefore i need a list of all the users.
I miss something like getUsers() in the JIRA service class.
Did someone knows how to solve this prroblem ?
Many thanks in advance .
Reda
Apr 14, 2009
Anonymous says:
Hello everybody! I am new to Jira and its SOAP API. Would it be possible for ...Hello everybody!
I am new to Jira and its SOAP API.
Would it be possible for anyone to email me some PHP code on how the whole thing works?
I've been searching many forums, but there is no "real" help about that.
If you can email me an example (or maybe a complete project) I would be very happy!
Please mail to: count78 (at) hotmail (dot) de
Thanks a lot!!!
May 08, 2009
Anonymous says:
Hi Reda, you have to use "getGroup(String token, String groupName)" to solve th...Hi Reda,
you have to use "getGroup(String token, String groupName)" to solve this problem.
Here is some PHP code for the Userlist:
function get_userlist()
and the HTML-output
...
$users = get_userlist();
foreach($users as $x)
{
foreach($x as $y)
}
...
Hope that helps
Apr 15, 2009
Juha Heimonen says:
Hello! What comes to using Jira's SOAP interface with Python, there's littl...Hello!
What comes to using Jira's SOAP interface with Python, there's little something what may come in handy, it's called JPype: http://jpype.sourceforge.net/
Probably any Python to Java bridge works, but at least this was proven handy for us. One of the most irritateing problems when using SOAP through python is the conversion of Python's long to BigInt in java. As Jira uses long-type in id-fields this causes Bad type exceptions. At least I was able to create project to Jira with the help of JPype with something like this (I'd guess this way we could do other type conversions as well), and it seems to work, Cheers!
import SOAPpy ... from jpype import * startJVM("C:/Program Files/Java/jdk1.6.0_07/jre/bin/client/jvm.dll", "-ea") permissions = self.soap.getPermissionSchemes(self.token) #Now let's change the id of permission set to Java long from python long: permissions[0]._placeItem("id",java.lang.Long(permissions[0]["id"]),1) #iterate through permission set's child elements and do type conversion: for i in permissions[0]["permissionMappings"]: i["permission"]._placeItem("permission",java.lang.Long(i["permission"]["permission"]),1) #now just create the project: self.soap.createProject(self.token,"PROJ","Projname","info","http://whatever.fi","lead",permissions[0],None,None)May 27, 2009
Ian Meyer says:
Using SOAPpy on CentOS 5.3 with Jira 3.13.4 over SSL I was getting errors parsin...Using SOAPpy on CentOS 5.3 with Jira 3.13.4 over SSL I was getting errors parsing the XML because of random data appearing in the WSDL. I changed to non-SSL and it worked as expected but since we can't do non-SSL, I sought out a new SOAP client. I found SUDS (https://fedorahosted.org/suds) which works beautifully.
Example code:
from suds.client import Client soap = Client('https://jira.atlassian.com/rpc/soap/jirasoapservice-v2?WSDL') username = 'soaptester' password = 'soaptester' auth = soap.service.login(username, password) print soap.service.getUser(auth, 'test')Returns:
(RemoteUser){ email = "noreply@atlassian.com" fullname = "Tom" name = "test" }Hope that helps anyone who found SOAPpy to be less than fulfilling.
Jun 02, 2009
Matt Doar says:
Thanks for the pointer. SOAPpy is getting a bit dated. ~MattThanks for the pointer. SOAPpy is getting a bit dated.
~Matt
Nov 04
Kevin Teague says:
Yes, the Python example should be updated to use the suds distribution, since SO...Yes, the Python example should be updated to use the suds distribution, since SOAPpy has not been maintained in a long time (I believe it doesn't work on Python 2.5 or 2.6), where as suds works fine on Python 2.6.
Jun 12, 2009
Anonymous says:
Could anyone post the syntax of the updateIssue() function for use in updating a...Could anyone post the syntax of the updateIssue() function for use in updating a costumfieldid in PHP? I can set the custom field when creating an issue, but can't figure out how to update it.
Thanks!
Jun 15, 2009
Anonymous says:
Got it working $result = $client->updateIssue($login, 'TEST-1',array(array('...Got it working
$result = $client->updateIssue($login, 'TEST-1',array(array('id' => 'customfield_10000', 'values' => array ('XXXXX'))));
Hope it migh help someone.
Aug 10
Anonymous says:
Does anyone know how long a token will last for? Is it possible to set a l...Does anyone know how long a token will last for? Is it possible to set a login token once and use it for many transactions in a singleton design pattern, or is it intended to be a per transaction type deal.
Aug 10
Bob Swift says:
I think it is about 30 minutes Yes, it can span requests - JIRA Command Line ...Aug 16
Anonymous says:
Anyone knows how to use SOAP to assign an issue to someone? I don't have p...Anyone knows how to use SOAP to assign an issue to someone? I don't have permission to create issue / update issue fields, but I can assign the issue to myself or someone else.
Thank you in advance.
Aug 16
Bob Swift says:
updateIssue and change the assignee field.updateIssue and change the assignee field.
Sep 03
Paul Cosgrove says:
I'm having a problem with this when trying to change an issue's assignee through...I'm having a problem with this when trying to change an issue's assignee through C# - it always assigns it to the default Project Lead account, rather than the person I specify. It doesn't give any errors, it just won't assign it to the person it needs to.I've also tried the progressWorkflowAction() method to push it through the assign step of the workflow, but that's not helped either.Any suggestions?Never mind, I'd missed something really obvious.
Sep 21
Anonymous says:
Does not work for me :( Using the same id-value pairs as works for progressWork...Does not work for me :(
Using the same id-value pairs as works for progressWorkflowAction()
Sep 11
Anonymous says:
Hi, is there any possibility to change the name and/or the release date of a pr...Hi,
is there any possibility to change the name and/or the release date of a project version? I have only found something to release/archive or add an version, nothing found to update a version.
Regards
Robin
Sep 14
trevinze says:
Is there any way to recover timetracking values like "remaining stimate" or "ori...Is there any way to recover timetracking values like "remaining stimate" or "original stimate"?. I've tried to recover them with the the object "RemoteField" through "getFieldsForEdit" method but this object doesn't have the fields values and i can't find any method to recover de object "RemoteFieldValue".
Thanks.
Sep 24
Rehan says:
Hi, How I can get the text in "Subversion Commit" tab from API? I am ...Hi,
How I can get the text in "Subversion Commit" tab from API? I am writing a script in perl and I want to get the latest Subversion Commit to check something. Even if I can get entire message it would be ok as I can parse the latest Commit message from it.
I use,
my $comments = $soap->getComments($auth,"QWER-3004")->result();
for Comment tab and that works perfectly but not sure what to use to "Subversion Commit" tab. Any help will be greatly appreciated.
Thanks
Nov 03
Steve Ilg says:
I need to retrieve the Original Estimate and the current remaining estimate from...I need to retrieve the Original Estimate and the current remaining estimate from an issue. I do not see these fields in the RemoteIssue but I know they are fields in the issue table in the DB and not custom fields. Does anyone have any suggestions
Jan 05
Chris Diaz says:
Hi, Does anyone know how to retrieve/determine all required Custom Fields when ...Hi,
Does anyone know how to retrieve/determine all required Custom Fields when editing or creating a new Issue? Seems like the API returns ALL the Custom Fields with no way of determining which project(s) and screen(s) it is associated with.
Thanks.