【问题标题】:Unable to receive SOAP Response, java.io.FileNotFoundException is thrown from HttpURLConnection无法接收 SOAP 响应,从 HttpURLConnection 抛出 java.io.FileNotFoundException
【发布时间】:2016-06-03 06:56:18
【问题描述】:

我正在尝试执行 SOAP Web 服务自动化,我在执行时发现了一个异常。当我尝试运行/调试时抛出 java.io.FileNotFoundException,我还发现我收到的响应代码是 404。我正在使用 JKS 格式的密钥库以确保安全。

代码:

HttpURLConnection httpConnection = null;
String strResponse = null;
java.net.URL url = new URL(strURL);
if (url.getProtocol().equalsIgnoreCase("http")) {
httpConnection = (HttpURLConnection) url.openConnection();      
}
httpConnection.setDoOutput(true);
httpConnection.setDoInput(true);
httpConnection.setRequestMethod("POST");
OutputStreamWriter writer = new OutputStreamWriter(httpConnection.getOutputStream());
writer.write(wsRequestString);
writer.close();
System.out.println(httpConnection.getResponseCode());
if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println(httpConnection.getInputStream());
}

当我尝试执行 httpConnection.getInputStream() 时,它会抛出 java.io.FileNotFoundException。此外,我作为参数发送的 URL 也是有效的。此异常的可能原因是什么?

【问题讨论】:

  • 您无法从输入流中打印,请尝试将其转换为字符串,stackoverflow.com/questions/309424/…
  • 即便如此我还是得到了 java.io.FileNotFoundException: "URL name" 的错误
  • 您不能同时获得 404 和 200,只有在获得 200 时才调用 getInputStream()。这是真正的代码吗?
  • 是的,正如你所说,我得到了 404 代码,这就是它没有进入 if 条件的原因。然后我添加了一行 System.out.println(httpConnection.getInputStream());在 if 条件之后,我得到 FileNotFoundException
  • 那么为什么我会收到 404 响应代码?有什么想法吗?

标签: java http soap httpurlconnection


【解决方案1】:

代码没有错,只检查是Http还是Https连接。最后,我发现它是 SAAJ 请求,它与 SAAJ 代码一起使用

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多