@@ -8,6 +8,7 @@ public enum ProbeStatus {
|
||||
OBJECT_DISABLED,
|
||||
INVALID_TOKEN,
|
||||
OBJECT_NOT_ACCESSIBLE,
|
||||
ORDS_PATH_NOT_FOUND,
|
||||
ORDS_NOT_CONFIGURED,
|
||||
ORDS_UNAVAILABLE,
|
||||
ORDS_TIMEOUT,
|
||||
|
||||
@@ -121,7 +121,7 @@ public class OrdsProbeService {
|
||||
return auditAndReturn(command, ProbeResult.blocked(
|
||||
status,
|
||||
status.name(),
|
||||
trimMessage(e.getResponseBodyAsString()),
|
||||
httpErrorMessage(status, e.getResponseBodyAsString()),
|
||||
requestHeaders,
|
||||
requestPayload,
|
||||
prettyHeaders(e.getResponseHeaders()),
|
||||
@@ -260,6 +260,15 @@ public class OrdsProbeService {
|
||||
return detail;
|
||||
}
|
||||
|
||||
private String httpErrorMessage(ProbeStatus status, String body) {
|
||||
String detail = trimMessage(body);
|
||||
if (status == ProbeStatus.ORDS_PATH_NOT_FOUND) {
|
||||
return "ORDS 경로를 찾을 수 없습니다. 설정의 Base URL과 보호 객체 ORDS Path가 실제 ORDS schema mapping/module/template 경로와 일치하는지 확인하세요. 상세: "
|
||||
+ detail;
|
||||
}
|
||||
return detail;
|
||||
}
|
||||
|
||||
private String trimMessage(String body) {
|
||||
if (body == null) {
|
||||
return null;
|
||||
|
||||
@@ -23,6 +23,12 @@ public class ProbeErrorClassifier {
|
||||
if (status != null && (status.value() == 401 || status.value() == 403)) {
|
||||
return ProbeStatus.INVALID_TOKEN;
|
||||
}
|
||||
if (status != null && status.value() == 404) {
|
||||
return ProbeStatus.ORDS_PATH_NOT_FOUND;
|
||||
}
|
||||
if (text.contains("\"code\"") && text.contains("NotFound")) {
|
||||
return ProbeStatus.ORDS_PATH_NOT_FOUND;
|
||||
}
|
||||
return ProbeStatus.UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
</label>
|
||||
<label>
|
||||
ORDS Path
|
||||
<input class="form-control" name="ordsPath" placeholder="cb-agent-security/vpd/documents" required>
|
||||
<input class="form-control" name="ordsPath" placeholder="cb-ords/cb-agent-security/vpd/documents" required>
|
||||
</label>
|
||||
<label>
|
||||
컬럼
|
||||
|
||||
Reference in New Issue
Block a user