Bugzilla Code中创建Bug时出错

时间:2014-01-31 09:11:39

标签: java xml-rpc bugzilla

这是使用Java在Bugzilla中创建新错误的代码。但我得到了以下错误。

BugCreator2.java:20:错误:找不到符号         factory.setHttpClient(HttpClient的);                ^   符号:方法setHttpClient(HttpClient)   location:XmlRpcCommonsTransportFactor类型的变量工厂 注意:BugCreator2.java使用未经检查或不安全的操作。 注意:使用-Xlint重新编译:取消选中以获取详细信息。 1错误

我使用的Jar文件之后: 公地的HttpClient-3.0.1 Java的RT-JAR-存根-1.5.0 WS-公地UTIL-1.0.1 WS-公地UTIL-1.0.1-源 XMLRPC-3.0 XMLRPC-3.0-共同

如果所有这些都是必需的,我不知道。

import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;

public class BugCreator2 {
   public static void main(String s[])
      throws MalformedURLException, XmlRpcException {

    HttpClient httpClient = new HttpClient();
    XmlRpcClient rpcClient = new XmlRpcClient();
    XmlRpcCommonsTransportFactory factory = new XmlRpcCommonsTransportFactory(rpcClient);
    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();

    factory.setHttpClient(httpClient);
    rpcClient.setTransportFactory(factory);
    config.setServerURL(new URL("http://URL/bugzilla/xmlrpc.cgi"));
    rpcClient.setConfig(config);

    // map of the login data
    Map loginMap = new HashMap();
    loginMap.put("login", "username@abc.com");
    loginMap.put("password", "*********");
    loginMap.put("rememberlogin", "Bugzilla_remember");

    // login to bugzilla
    Object loginResult = rpcClient.execute("User.login", new Object[]{loginMap});
    System.err.println ("loginResult=" + loginResult);

    // map of the bug data
    Map bugMap = new HashMap();

    bugMap.put("product", "Demo");
    bugMap.put("component", "Demo_project");
    bugMap.put("summary", "Bug created for test");
    bugMap.put("description", "This is text ");
    bugMap.put("version", "unspecified");
    bugMap.put("op_sys", "Windows");
    bugMap.put("platform", "PC");
    bugMap.put("priority", "P2");
    bugMap.put("severity", "Normal");
    bugMap.put("status", "NEW");

    // create bug
    Object createResult = rpcClient.execute("Bug.create", new Object[]{bugMap});
    System.err.println("createResult = " + createResult);
 }

}

1 个答案:

答案 0 :(得分:0)

经过多方努力,我才知道JAR版本存在问题。您需要使用精确的JARS,因为其他版本不支持某些方法。 使用的罐子:

  • 公地的HttpClient-3.0.1
  • 共享记录-1.1.3
  • java的RT-罐存根-1.5.0
  • org.apache.commons.codec_1.3.0.v201101211617
  • WS-公地util的-1.0.2
  • XMLRPC-客户3.1.3
  • XMLRPC-共3.1.3