SOAP-dust example: querying jira codehaus
First: put this in a file named QueryJiraWithSoapdust.java
import java.io.IOException;
import soapdust.Client;
import soapdust.ComposedValue;
import soapdust.FaultResponseException;
import soapdust.MalformedResponseException;
import soapdust.MalformedWsdlException;
public class QueryJiraWithSoapdust {
public static void main(String[] args)
throws IOException, MalformedWsdlException, FaultResponseException, MalformedResponseException {
Client client = new Client();
client.setWsdlUrl("http://jira.codehaus.org/rpc/soap/jirasoapservice-v2?wsdl");
client.setEndPoint("http://jira.codehaus.org/rpc/soap/jirasoapservice-v2");
String authKey = null;
try {
ComposedValue authentication = new ComposedValue();
//see http://jira.codehaus.org to create an account if you dare.
authentication.put("in0", "your login"); //put your login here
authentication.put("in1", "your password"); //put your password here
ComposedValue login = client.call("login", authentication);
authKey = login.getComposedValue("loginResponse").getStringValue("loginReturn");
} catch (FaultResponseException e) {
if (e.fault.getComposedValue("detail").getChildrenKeys()
.contains("com.atlassian.jira.rpc.exception.RemoteAuthenticationException")) {
System.err.println("wrong login or password !");
System.exit(1);
} else {
throw e;
}
}
ComposedValue query = new ComposedValue();
query.put("in0", authKey);
query.put("in1", "10093");
ComposedValue result = client.call("getIssuesFromFilter", query);
System.out.println(result); //this will show you issues matching jira filter 10093
}
}
Second: download the last version of SOAP-dust
SOAP-dust is currently released under version 0.1.129 and is available here.
Third: Compile your client
$> javac -cp soap-dust-0.1.129.jar QueryJiraWithSoapdust.java
Fourth: Run your client
$> java -cp soap-dust-0.1.129.jar:. QueryJiraWithSoapdust wrong login or password !
That's it !
OK... it would display a nicer output with a valid login/password. Do you really want to open an account on jira.codehaus.org ?
And remember: your application depends of only a single jar. Useless but so fun: compare with the cxf dependency graph.