文件未找到异常使用Httpsurlconnection与REST“POST”功能

时间:2013-06-06 05:29:42

标签: java rest filenotfoundexception jira-rest-java-api

我在执行以下代码时遇到问题。 我也有同样的功能,执行休息方法DELETE和PUT那些使用相同的配置工作得很好,但事实并非如此。

public void Rest_POST(String cookie)
{
String urlString = "https://localhost:8443/rest/api/2/version";
    HttpsURLConnection urlConnection;
    String cookie = getCookie();
     String JSONString = "{" +
             "\"description\":\"An excellent version\"," +
             "\"name\":\"New Version 54164987\"," +
             "\"project\":\"zhelp\"" +
             "}";
URL url;
    OutputStream os;
    HttpsURLConnection connection = null;
    try {
        //this skips the certification check
        certificateManager.skipCertificateCheck();
        url = new URL(urlString);
        connection = (HttpsURLConnection) url.openConnection();
        connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
        connection.setRequestProperty("Content-Language", "en-US");
        if(cookie != null) {
            System.out.println("Cookie : " + cookie.split(";", 2)[0]);
            connection.setRequestProperty("Cookie", cookie.split(";", 2)[0]);
        }

        connection.setRequestMethod("POST");
        connection.setDoOutput(true);
        connection.setRequestProperty("Accept", "application/json");
        connection.setAllowUserInteraction(true);

        os = connection.getOutputStream();
        System.out.println("JSONString : " + JSONString);
        os.write(JSONString.getBytes());
        os.flush();

        System.out.println("Connection : " + connection.getURL());
  }

这会生成错误FileNotfound异常。

Error Message: https://localhost:8443/rest/api/2/version
Cause: java.io.FileNotFoundException: https://localhost:8443/rest/api/2/version

1 个答案:

答案 0 :(得分:1)

我是java的新手可能是这个对你有用的解决方案

首先给出

connection.setDoOutput(true); connection.setDoInput(true);

如果未解析,则表示使用您的端口8443的任何其他服务,此案例资源可通过浏览器获得,但不能使用Java代码。要么停止冲突的服务,要么更改服务器的端口号,一切正常