3

JAXRS を使用して REST 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);
          文字列 responseStr = restClient.get(String.class);
          System.out.println("応答を受信しました"+responseStr);

Weblogicで同じことを実行すると。以下の例外が発生しています。

   
        原因: java.io.EOFException: https://api.testing.net:443/api/v1/Account?AccountId=9 を呼び出す EOFException: 応答にデータが含まれていません
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)
        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) で

任意のポインター。

ありがとう。

4

0 に答える 0