JBossのJIRAとSOAPでおしゃべり
まず、google:apache axisの1.2.1を落としてきて、WSDL2Javaでクライアントのコードを生成。
java -classpath "lib/wsdl4j-1.5.1.jar;lib/jaxrpc.jar;lib/commons-discovery-0.2.jar;lib/axis.jar;lib/commons-logging-1.0.4.jar" org.apache.axis.wsdl.WSDL2Java
できたコードをEclipseのJavaプロジェクトに食わせれば、ほらこんなに簡単。とりあえずプロジェクトのリストはとれた。
JBossJiraReader.java
import com.atlassian.jira.rpc.soap.beans.*; import com.atlassian.jira.rpc.exception.*; import org.apache.axis.AxisProperties; import org.jboss.jira.jira.rpc.soap.jirasoapservice_v2.*; public class JBossJiraReader { private static final String PROXY_HOST = "hogefuga.hostname.domain"; private static final String PROXY_PORT = "8080"; private static final String USERNAME = "oreore"; private static final String PASSWORD = "uhiuhi"; public void execute() throws Exception { AxisProperties.setProperty("http.proxyHost", PROXY_HOST); AxisProperties.setProperty("http.proxyPort", PROXY_PORT); JiraSoapServiceServiceLocator locator = new JiraSoapServiceServiceLocator(); JiraSoapService service = locator.getJirasoapserviceV2(); String token = service.login(USERNAME, PASSWORD); RemoteProject[] pjs = service.getProjectsNoSchemes(token); for( RemoteProject pj : pjs ) { System.out.println(pj.getName()); } } public static void main(String[] args) throws Exception { JBossJiraReader jjr = new JBossJiraReader(); jjr.execute(); } }