首页 > 解决方案 > HttpURLConnection.getReadTimeout() / HttpURLConnection.getConnectionTimeout() 的 -1

问题描述

我正在尝试确定我的 Java HttpURLConnection 对象上当前的 readTimeout 和 connectionTimeout 是什么。在下面的日志记录语句中,它们都返回 -1:

    private InputStream getSomethingImportant(final String letterId, final String documentId,
            HttpURLConnection connection) throws IOException {

        InputStream pdfStream = null;

        final String url = this.getBaseURL() + "/letters/" + letterId + "/documents/" + documentId;

        connection = RequestResponseUtil.initializeRequest(url, "GET", this.getAuthenticationHeader(), true, MediaType.APPLICATION_PDF_VALUE);

        LOG.info("ConnectionTimeout is: {}", connection.getConnectTimeout());
        LOG.info("ReadTimeout is: {}", connection.getReadTimeout());

        // ...other non-relevant code...
}

    public static HttpURLConnection initializeRequest(final String url, final String method,
            final String httpAuthHeader, final boolean multiPartFormData, final String responseType) {

        HttpURLConnection conn = null;

        try {
            conn = (HttpURLConnection) new URL(url).openConnection();
            conn.setRequestMethod(method);
            conn.setRequestProperty("X-Something-Authentication", httpAuthHeader);
            conn.setRequestProperty("Accept", responseType);
            if (multiPartFormData) {
                conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=BOUNDARY");
                conn.setDoOutput(true);
            }
            else {
                conn.setRequestProperty("Content-Type", "application/xml");
            }
        }
        catch (final MalformedURLException e) {
            throw new CustomException(e);
        }
        catch (final IOException e) {
            throw new CustomException(e);
        }
        return conn;

    }

getConnectTimeoutgetReadTimeout上的 JavaDocs都将 0 列为返回选项,但对 -1 只字未提。我该如何解释这个?

另外,我使用的 url 是有效的,我正在InputStream成功返回。

最后,我使用的是 Oracle JDK 1.8.0_77。而且,值得注意的是,当我实际打印出conn运行时使用的类时weblogic.net.http.SOAPHttpsURLConnection(我使用的是 WebLogic 12.2)。

谢谢你。

标签: javahttpurlconnectionweblogic12cconnection-timeout

解决方案


推荐阅读