프록시 서버 뒤에서 내 웹 서비스에 연결하는 데 문제가 있습니다. 나는 다음과 같은 서비스프록시 서버에서 나머지 웹 서비스에 연결하는 중 오류가 발생했습니다.
@GET
@Produces(MediaType.TEXT_PLAIN)
public Response getBackgroundImages(@QueryParam("missions") String missions,
@QueryParam("objects") String objects,
@QueryParam("dates") String date) {
String result= "";
......
try {
.....
result = dbman.extractQueriedData(queryMissions, queryObjects, date);
} else {
result = dbman.extractPopular();
}
} catch(SQLException ex){
LoggingServices.createExceptionLogMessage(ex, LOGGER);
}
return Response.ok()
.entity(result)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT")
.allow("OPTIONS").build();
}
내가 로컬 서버에있는 모든 실행하고 때 코드가 작동을 호출하는 다음 아약스 호출
$.ajax({
async: false,
url: "http://localhost:8080/Card/rest/UploadBackground"
}).done(function (data) {
arr = JSON.parse(data);
updateSlider(arr);
}).fail(function (data) {
alert('falied');
});
있습니다. 나는이 크롬 그물 내부 페이지로 I에 따라 오류가 발생하는 프록시 서버 뒤에있는 서버에 업로드 할 때 너무
245: URL_REQUEST
http://localhost:8080/Card/rest/UploadBackground
Start Time: 2017-03-23 16:23:19.477
t=12380 [st= 0] +REQUEST_ALIVE [dt=1305]
--> priority = "HIGHEST"
--> url = "http://localhost:8080/Card/rest/UploadBackground"
t=12380 [st= 0] URL_REQUEST_DELEGATE [dt=0]
t=12380 [st= 0] +URL_REQUEST_START_JOB [dt=1305]
--> load_flags = 51008 (DO_NOT_SAVE_COOKIES | DO_NOT_SEND_AUTH_DATA | DO_NOT_SEND_COOKIES | IGNORE_LIMITS | MAYBE_USER_GESTURE | VERIFY_EV_CERT)
--> method = "GET"
--> url = "http://localhost:8080/Card/rest/UploadBackground"
t=12380 [st= 0] URL_REQUEST_DELEGATE [dt=0]
t=12380 [st= 0] HTTP_CACHE_GET_BACKEND [dt=0]
t=12380 [st= 0] HTTP_CACHE_OPEN_ENTRY [dt=0]
t=12380 [st= 0] HTTP_CACHE_ADD_TO_ENTRY [dt=0]
t=12380 [st= 0] HTTP_CACHE_READ_INFO [dt=0]
t=12380 [st= 0] +HTTP_STREAM_REQUEST [dt=303]
t=12380 [st= 0] HTTP_STREAM_REQUEST_STARTED_JOB
--> source_dependency = 248 (HTTP_STREAM_JOB)
t=12683 [st= 303] HTTP_STREAM_REQUEST_BOUND_TO_JOB
--> source_dependency = 248 (HTTP_STREAM_JOB)
t=12683 [st= 303] -HTTP_STREAM_REQUEST
t=12683 [st= 303] +HTTP_TRANSACTION_SEND_REQUEST [dt=0]
t=12683 [st= 303] HTTP_TRANSACTION_SEND_REQUEST_HEADERS
--> GET /Card/rest/UploadBackground HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Accept: */*
Origin: http://mycard.xxx.yyy
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36
Referer: http://mycard.xxx.yyy/mainPage.html
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
t=12683 [st= 303] -HTTP_TRANSACTION_SEND_REQUEST
t=12683 [st= 303] +HTTP_TRANSACTION_READ_HEADERS [dt=1002]
t=12683 [st= 303] HTTP_STREAM_PARSER_READ_HEADERS [dt=1002]
--> net_error = -324 (ERR_EMPTY_RESPONSE)
t=13685 [st=1305] -HTTP_TRANSACTION_READ_HEADERS
--> net_error = -324 (ERR_EMPTY_RESPONSE)
t=13685 [st=1305] -URL_REQUEST_START_JOB
--> net_error = -324 (ERR_EMPTY_RESPONSE)
t=13685 [st=1305] URL_REQUEST_DELEGATE [dt=0]
t=13685 [st=1305] -REQUEST_ALIVE
--> net_error = -324 (ERR_EMPTY_RESPONSE)
사람이 오류가 무엇인지 설명 할 수있는 그대로? 프록시 서버와 관련이 있습니까?
환호,
ES 나는 마침내 그것을 작업 가지고 4 일 이상 후
솔루션
합니다. 문제는 단순히 도메인 간 문제 였고 해결 방법은 jsonp와 올바른 URL 매핑을 사용하는 것이 었습니다. 서버 측에서 I는 MediaType.APPLICATION_JSON에 MediaType에 변경 및 반환 값이 콜백 함수 이름 감싸 하였다
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getBackgroundImages(@QueryParam("missions") Stringmissions,
@QueryParam("objects") String objects,
@QueryParam("dates") String date) {
String result= "";
......
try {
.....
result = dbman.extractQueriedData(queryMissions, queryObjects, date);
} else {
result = dbman.extractPopular();
}
} catch(SQLException ex){
LoggingServices.createExceptionLogMessage(ex, LOGGER);
}
return String res = "jsonCallback("+ result +");";
}
및 자바 스크립트 측
$.ajax({
async: false,
url: "/rest/UploadBackground/",
\t \t jsonp: "callback",
type:"GET",
dataType: "jsonp",
jsonpCallback: "jsonCallback",
success: function(response) {
}
});
window.jsonCallback = function(data) {
//do something
};
가장 많이 발생하는 문제는
- 서버 반환 값은 콜백 함수 이름으로 줄 바꿈되어야합니다.
- 콜백 함수는 내가 아는 한 주어진 서명으로 전역 적으로 정의되어야합니다. 이것은 다른 도움이 될 것입니다
희망,
환호,
ES
올바른 문제는 실제 URL 매핑입니다. – Goozo