java.io.IOException:如果第二次运行应用程序

时间:2015-12-01 11:46:12

标签: java java-io ioexception http-status-code-400

首先抱歉我的英语不好,但我来自德国。不过我希望你能理解我的问题是什么。 我正在使用Webclient,它应该从SAP C4C Odata服务下载XML文件。如果我第一次启动应用程序并运行下载,一切都很有效。但是如果第一次运行完成并且我正在尝试下载下一个文件,那么应用程序将抛出以下异常:

java.io.IOException: Server returned HTTP response code: 400 for URL: --
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.model.Model.createTemp(Model.java:164)
at com.model.Model.checkFilter(Model.java:122)
at com.model.Model$1.actionPerformed(Model.java:50)

我在最后几天搜索过这个问题,但从未找到解决方案。 也许你们会看到我未能看到的东西。

这是我的代码,我从URL下载字符串。

public void createTemp(String odata) throws IOException, ParserConfigurationException, SAXException {

    File export = new File("temp");

    if (!export.exists()) {
        export.mkdir();
    }

    CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));

    Authenticator.setDefault(new Authenticator() {

        @Override
        protected PasswordAuthentication getPasswordAuthentication() {          
            return new PasswordAuthentication(user, pass.toCharArray());
        }
    });

    out = new Scanner(new URL(odata).openStream(), "UTF-8").useDelimiter("\\A").next();


    OutputStreamWriter xmlout = new OutputStreamWriter(new FileOutputStream("temp\\tempout.xml"), "UTF-8");
    xmlout.write(out);
    xmlout.close();

    File xml = new File("temp\\tempout.xml");

    writeCSV(xml);

}

感谢大家提前做好准备!

0 个答案:

没有答案