WsSendFaultMessageForError 함수(webservices.h)
WS_ERROR 개체가 지정된 경우 오류 메시지를 보냅니다.
구문
HRESULT WsSendFaultMessageForError(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *replyMessage,
[in] WS_ERROR *faultError,
[in] HRESULT faultErrorCode,
[in] WS_FAULT_DISCLOSURE faultDisclosure,
[in] WS_MESSAGE *requestMessage,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
매개 변수
[in] channel
메시지를 보낼 채널입니다.
[in] replyMessage
회신 메시지를 보내는 데 사용할 메시지 개체입니다.
메시지 개체는 WS_MESSAGE_STATE_EMPTY 또는 WS_MESSAGE_STATE_INITIALIZED 있어야 합니다. 초기화된 메시지가 제공되면 WS_FAULT_MESSAGE 사용하여 초기화되어야 합니다.
[in] faultError
오류를 생성하는 데 사용할 오류 개체입니다.
[in] faultErrorCode
오류와 연결된 오류 코드입니다. 성공 코드일 수 없습니다.
이 오류 코드는 오류 메시지에 직접 포함되지 않지만 대신 WS_ERROR 개체에 오류 문자열이 없는 경우 오류 문자열을 만들기 위한 대체 메커니즘으로 사용됩니다.
[in] faultDisclosure
오류 메시지에 포함된 오류 정보의 양을 제어합니다.
[in] requestMessage
요청 메시지입니다. 회신 메시지를 작성하는 데 사용되는 상관 관계 정보를 가져오는 데 사용됩니다.
메시지는 모든 상태일 수 있지만 WS_MESSAGE_STATE_EMPTY.
[in, optional] asyncContext
함수를 비동기적으로 호출하는 방법 또는 동기적으로 호출하는 경우 NULL 에 대한 정보입니다.
[in, optional] error
함수가 실패할 경우 추가 오류 정보를 저장할 위치를 지정합니다.
반환 값
이 함수는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
비동기 작업은 아직 보류 중입니다. |
|
작업이 중단되었습니다. |
|
개체의 현재 상태로 인해 작업이 허용되지 않습니다. |
|
원격 엔드포인트와의 연결이 종료되었습니다. |
|
입력 데이터가 예상 형식이 아니거나 예상 값이 없습니다. |
|
할당된 시간 내에 작업이 완료되지 않았습니다. |
|
할당량을 초과했습니다. |
|
수신된 데이터에 대한 보안 확인에 성공하지 못했습니다. |
|
Windows Web Services 프레임워크에서 보안 작업이 실패했습니다. |
|
메모리가 부족합니다. |
|
하나 이상의 인수가 잘못되었습니다. |
|
이 함수는 위에 나열되지 않은 다른 오류를 반환할 수 있습니다. |
설명
메시지 본문에 전송되는 WS_FAULTWsCreateFaultFromError에서 정의한 것과 동일한 규칙을 사용하여 생성됩니다.
회신 메시지에 사용되는 WS_ACTION_HEADER 값은 다음과 같이 계산됩니다.
- 채널의 WS_CHANNEL_PROPERTY_ADDRESSING_VERSIONWS_ADDRESSING_VERSION_TRANSPORT 경우 주소 지정 버전에서 오류에 대한 작업 값을 허용하지 않으므로 메시지에 작업이 포함되지 않습니다.
- 오류 개체에 작업 문자열이 포함된 경우( WS_FAULT_ERROR_PROPERTY_ACTION 반환된 문자열의 길이가 0보다 큼) 작업 문자열이 사용됩니다.
- 오류 개체에 작업이 포함되어 있지 않으면 기본 작업 값이 제공됩니다.
오류 메시지에는 WS_ADDRESSING_VERSION 적절한 상관 관계 정보가 포함됩니다. 요청 회신 메시지의 상관 관계에 대한 자세한 내용은 채널 계층 개요 를 참조하세요.
WS_ERROR 개체 없이 오류를 보내는 경우 WsSendReplyMessage를 사용합니다.
메시지에 사용자 지정 헤더를 추가하려면 WS_FAULT_MESSAGE 사용하여 WsInitializeMessage 메시지를 초기화한 다음, 이 함수를 호출하기 전에 WsAddCustomHeader를 사용하여 헤더를 추가합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | webservices.h |
라이브러리 | WebServices.lib |
DLL | WebServices.dll |