2017-07-18 3 views
0

REST Assured 3.0.3で断続的にこの問題に直面しており、対応するコード行がforループにあります。REST Assured - org.apache.http.NoHttpResponseException:<server_address>:80が応答に失敗しました

下に述べたようにこれは、単純なGET呼び出しです:

response = given().setBaseUri(someBaseUri).setBasePath(someEndPoint).param("key", "value").header("X-Authorization-Token", my_auth_token).get(); 

私はConnectionConfigを使用して問題を解決するために示唆StackOverflowの回答のカップルを見つけたが、私はRESTを使用しながら、問題を解決する方法がわかりません保証される。以下は

は完全なトレースです:

org.apache.http.NoHttpResponseException: <full_server_address> failed to respond 
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) 
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) 
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) 
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:283) 
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:259) 
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:209) 
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) 
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:686) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:488) 
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) 
    at org.apache.http.client.HttpClient$execute$0.call(Unknown Source) 
    at io.restassured.internal.RequestSpecificationImpl$RestAssuredHttpBuilder.doRequest(RequestSpecificationImpl.groovy:2122) 
    at io.restassured.internal.http.HTTPBuilder.doRequest(HTTPBuilder.java:494) 
    at io.restassured.internal.http.HTTPBuilder.request(HTTPBuilder.java:451) 
    at io.restassured.internal.http.HTTPBuilder$request$2.call(Unknown Source) 
    at io.restassured.internal.RequestSpecificationImpl.sendHttpRequest(RequestSpecificationImpl.groovy:1525) 
    at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58) 
    at io.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:1288) 
    at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:149) 
    at io.restassured.internal.filter.SendRequestFilter.filter(SendRequestFilter.groovy:30) 
    at io.restassured.filter.Filter$filter$0.call(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
    at io.restassured.filter.Filter$filter.call(Unknown Source) 
    at io.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:72) 
    at io.restassured.filter.time.TimingFilter.filter(TimingFilter.java:56) 
    at io.restassured.filter.Filter$filter.call(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
    at io.restassured.filter.Filter$filter$0.call(Unknown Source) 
    at io.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:72) 
    at io.restassured.filter.FilterContext$next.call(Unknown Source) 
    at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1725) 
    at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182) 
    at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1731) 
    at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182) 
    at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:168) 
    at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy) 
    at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) 
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:815) 
    at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:48) 
    at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:58) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166) 
    at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:252) 
    at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy) 

助けてください。

+0

ランダムな推測。しかし、それぞれの呼び出しの間に待機を入れてみてください。基本的には全体を遅くしてください。コールをループして速すぎると、あなたが叩いているものが非常に小さな負荷しか処理できない場合、問題を引き起こす可能性があります。これは少し難しいかもしれませんが、あなたがテストしているものに関する情報を知らなくてもまだ可能です。 – canpan14

+1

お返事ありがとうございます@ canpan14。私はここで解決策を見つけたと思う。私はこれらの行をコード 'ConnectionConfig connectionConfig = new ConnectionConfig();に追加しました。 connectionConfig.closeIdleConnectionsAfterEachResponse(); '、しかし、問題が断続的なので、私はこの解決策が本当に役立つかどうか観察する必要があります。この 'ConnectionConfig'はREST Assuredからのものです。私はこの解決策で 'NoHttpResponseException'に直面しなければこれを答えとして掲示します。 –

答えて

0

このコードを追加すると問題が解決したようです。遅い段階のテストサーバーでも問題は発生していません。

関連する問題