2017-09-05 7 views
0

私はREST-Interfaceの正常性状態をチェックするクラスを持っています。いいですが、ログファイルには次の警告が含まれています:RestOperation Exchangeはクッキーを拒否します

2017-08-23 03:59:58.707 WARN 1849 --- [io-13811-exec-5] o.a.h.c.protocol.ResponseProcessCookies : Cookie rejected [JSESSIONID="14747303A2F23D4BE6DBAE0F282DEA94", version:0, domain:dealersearch.....com, path:/DCRMBroker/, expiry:null] Illegal 'path' attribute "/DCRMBroker/". Path of origin: "/system/healthcheck.jsp" 

リクエストはクッキーを受け付けないようです。私は、何が起こっているのか、ログメッセージの大部分を回ってそれらを受け入れる方法を理解していません。

マイヘルスチェッククラス:

package com......commons.health; 

import com.....commons.health.HealthResult.Health; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.http.HttpEntity; 
import org.springframework.http.HttpHeaders; 
import org.springframework.http.HttpMethod; 
import org.springframework.http.MediaType; 
import org.springframework.web.client.RestOperations; 

public abstract class RestHealthCheck extends HealthCheck { 
private static final Logger LOGGER =  LoggerFactory.getLogger(RestHealthCheck.class); 

public RestHealthCheck() {} 

public abstract String getUrl(); 

public abstract RestOperations getRestOperations(); 

public HealthResult getHealthResult() { 
    HealthResult result = new HealthResult(); 
    result.setName(this.getName()); 
    result.setHealth(Health.HEALTHY); 
    result.setMessage((String)null); 
    HttpHeaders headers = new HttpHeaders(); 
    headers.setContentType(MediaType.TEXT_PLAIN); 
    HttpEntity entity = new HttpEntity(headers); 

    try { 
     this.getRestOperations().exchange(this.getUrl(), HttpMethod.HEAD, entity, String.class, new Object[0]); 
    } catch (Exception var5) { 
     LOGGER.trace("Health check failed", var5); 
     result.setHealth(Health.UNHEALTHY); 
     result.setMessage(var5.getMessage()); 
    } 

    return result; 
} 
} 

答えて

1

URL http://server.example.com/system/healthcheck.jspが要求され、応答がURL http://server.example.com/DCRMBroker/に定義されているクッキーを含んでいました。

URLは異なります。その名前の価値のあるクライアントは、ここで発生したログを拒否する必要があります。あなたが与えた情報は、誰が原因であるかを言うには不十分です。間違ったクッキーを設定するJSPページでも、サーバー上で転送ルールになる可能性があるため、応答内のパスを変更せずに内部的に別のリソースに転送されます。また、クライアント側で何らかのリダイレクトが行われ、この効果がもたらされる場合もあります。

多分私の説明はあなたの理由を追跡するのに役立ちます。あなたの側に何かがあれば、それを修正することができます。それが相手側のものなら、その問題を解決するために相手と接触するかもしれません。あるいは、この特定のケースの警告を消すことができるかどうかクライアントを確認して、ログが再び落ち着くようにすることができます。

+0

ありがとうございます。特定のパッケージのログレベルを変更するのが最も有用な方法でした。私がやったことは、logging.level.org.apache.http.client.protocol.ResponseProcessCookies = ERRORでapplication.propertiesを編集していたことです – aszel

関連する問題