2014-06-10 2 views
1

불량 요청시 400 오류 메시지를 반환하는 web service (WEB-API)를 작성했습니다.HTTP 400 응답 코드의 경우 웹 서비스 호출 후 오류 메시지 받기

<?xml version="1.0"?> 
<Error> 
    <Message>The request is invalid.</Message> 
    <ModelState> 
    <serviceRequest.Id>The Id field is required.</serviceRequest.Id> 
    </ModelState> 
</Error> 

그리고 나는 UI의 플래시 flex를 사용하고 응답을받을 수있는 다음 event handlers를 사용하십시오 응답 함께

, 서버는 다음과 같은 오류 메시지를 보냅니다.

httpStatusHandler: [HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=400 responseURL=null] 
status: 400 
[HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=400 responseURL=null] 

이 검색하는 status code = 400하지만 웹 서비스에서 첨부 xml을받는 방법?

모든 안내를 환영합니다.

+1

좋은 질문입니다! @ 안드레이 포포프의 대답은 정확합니다. Flash의 네트워킹 구성 요소는 원시적입니다. – Brian

답변

1

항상 OK (200) 상태를 반환하는 것이 좋습니다. 플래시는 이것에 조금 바보이며 콘텐츠와 헤더를 혼합 항상 문제가 있습니다. 그럼에도 불구하고 HTML에 임베드했다면 브라우저에 의존합니다.

그래서 여기서 가장 좋은 OK 상태를 내부 오류와 함께 반환하고 사용자의 Event.COMPLETE 처리기에서 데이터를 확인하는 것이 가장 좋습니다. 오류가 있으면 오류입니다. 상태 일을 그냥 건너 뛰세요. 시간, 노력 및 잠 못 박는 시간을 절약 해줍니다 :)

+2

감사합니다. 그러나 오류가보고되어야한다고해도 200을 보내는 것은 '나쁜 습관'이 아닌가? 우리가 플래시를 사용하면 데이터를 얻을 수있는 방법이 없기 때문에 우리는 이것을해야만합니다. –

+1

기본적으로 일반적인 클라이언트 - 서버 통신에서는 이것이 사실이지만 사실은 플래시가 어떻게 든 장애가 있습니다. 나는 진정으로 당신을 이해하지만, 그것은 단지 방법 일뿐입니다. 대부분의 백엔드 언어에서 Adobe는 상태를 얻기로 결정했지만 사용자 정의 클라이언트 미리보기를 선택할 수 있습니다.) –