当我使用 JAXRS 调用休息 API 时,我收到 EOFException。
当我作为独立的 Java 应用程序运行时。它工作正常,我得到了回应。但是当我在 Weblogic 10.3 中执行时,我收到了 EOFException。
在代码片段下方。
JAXRSClientFactoryBean jaxRSClientFactoryBean = new JAXRSClientFactoryBean();
jaxRSClientFactoryBean.setAddress("https://api.testing.net:443/api/v1/Account?AccountId=9");
System.out.println(" URL:" + jaxRSClientFactoryBean.getAddress());
WebClient restClient = jaxRSClientFactoryBean.createWebClient();
restClient.accept(MediaType.APPLICATION_JSON);
restClient.type(MediaType.APPLICATION_JSON_TYPE);
restClient.header("授权", "基本 xxxxxxx");
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(30000);
httpClientPolicy.setReceiveTimeout(30000);
httpClientPolicy.setConnection(ConnectionType.CLOSE);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
String responseStr = restClient.get(String.class);
System.out.println("收到响应"+responseStr);
当我在 Weblogic 中执行相同的操作时。我收到以下异常。
引起:java.io.EOFException:EOFException 调用 https://api.testing.net:443/api/v1/Account?AccountId=9:响应不包含数据
在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
在 java.lang.reflect.Constructor.newInstance(Constructor.java:513)
在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1336)
在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1320)
在 org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
在 org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:622)
在 org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 147 更多
引起:java.io.EOFException:响应不包含数据
在 weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:227)
在 weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:148)
在 weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:468)
在 weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:377)
在 weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
在 weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:965)
在 org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:248)
在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1515)
在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1488)
在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1307)
任何指针。
谢谢。