When i am invoking a rest API using JAXRS i am receiving an EOFException.
When i run the same as an standalone Java Application. It is working fine and i am getting the response. But the same when i execute in Weblogic 10.3 I am receiving the EOFException.
Below the Code snippet.
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("Authorization", "basic 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("Response Received"+responseStr);
When i Execute the same in Weblogic. I am getting the below Exception.
Caused by: java.io.EOFException: EOFException invoking https://api.testing.net:443/api/v1/Account?AccountId=9: Response contained no data
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1336)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1320)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:622)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 147 more
Caused by: java.io.EOFException: Response contained no data
at weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:227)
at weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:148)
at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:468)
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:377)
at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:965)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:248)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1515)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1488)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1307)
Any pointers.
Thanks.