読者です 読者をやめる 読者になる 読者になる

たまには日記の一つでも。

28にしてはじめたバイオリンの記録と、ときどき日曜ハッキング

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();
	}

}