Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io.EOFException:响应在0字节后有流结束_Java_File Io_Exception Handling_Httpurlconnection_Webservice Client - Fatal编程技术网

java.io.EOFException:响应在0字节后有流结束

java.io.EOFException:响应在0字节后有流结束,java,file-io,exception-handling,httpurlconnection,webservice-client,Java,File Io,Exception Handling,Httpurlconnection,Webservice Client,我试图使用java代码调用web服务,该代码抛出java.io.EOFException:Response在大数据块的0字节后结束流 相同的web服务调用在Postman REST客户端中工作,但Java代码抛出错误,无法获取web服务响应。 有人能帮我吗 以下是供参考的代码片段: String output; URL url = new URL(wsUrl); //wsUrl is a web service URL

我试图使用java代码调用web服务,该代码抛出java.io.EOFException:Response在大数据块的0字节后结束流

相同的web服务调用在Postman REST客户端中工作,但Java代码抛出错误,无法获取web服务响应。 有人能帮我吗

以下是供参考的代码片段:

        String output;          
        URL url = new URL(wsUrl);             //wsUrl is a web service URL

        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        String authorization = "**************" + ":" + "*********";
        String basicAuth = "Basic " + java.util
                                          .Base64
                                          .getEncoder()
                                          .encodeToString(authorization.getBytes());
        conn.setRequestProperty("Authorization", basicAuth);
        conn.setRequestProperty("Accept", "application/json");
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
        }
        BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
        System.out.println("Output from Server .... \n");
        String jsonstring = new String();
        while ((output = br.readLine()) != null) {
           System.out.println(output);
        }
        conn.disconnect();

我只能建议使用像SpringWeb这样的标准框架来处理所有的连接内容,然后更多地关注业务逻辑。不要重新发明轮子。@Vinit:你能分享邮递员在你的案例中成功获取响应的
curl
请求吗?在哪一行抛出?@EJP-line“if(conn.getResponseCode()!=200)”抛出错误。@KlasLindbäck-不需要它。访问响应代码将触发连接和发送请求。