Share via


SOAP 헤더를 처리하는 동안 발생하는 오류 처리

이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.

웹 서비스에서 SOAP 헤더 처리와 관련한 오류를 감지하면 SoapHeaderException이 throw됩니다. 이 예외 클래스를 사용하여 웹 서비스에서 응답의 형식을 올바르게 지정할 수 있습니다. 다음 예제에서는 클래스를 호출하는 방법을 보여 줍니다.

throw new SoapHeaderException("invalid user",SoapException.ClientFaultCode); 
Throw New SoapHeaderException("invalid user", SoapException.ClientFaultCode)

.NET Framework를 사용하여 만든 클라이언트는 InnerException 속성을 포함하여 Message 속성에 있는 콘텐츠와 함께 SoapHeaderException을 받습니다. 클라이언트가 catch하는 SoapHeaderExceptionInnerException 속성은 null입니다. 다음은 .NET Framework에서 지원되는 프로그래밍 모델입니다. 여기서는 SOAP 사양에 규정되어 있듯이 SOAP <Fault> XML 요소에서 네트워크를 통해 예외가 전송됩니다. 예외에 대한 자세한 내용은 XML Web services에서 예외 처리 및 Throw를 참조하십시오.

참고: .NET Framework 버전 1.0에는 SoapHeaderAttribute.Required 속성이 있으며, 이 속성은 값이 true로 설정될 경우 클라이언트에게 특정 SOAP 헤더를 보내도록 요구하는 웹 서비스를 실행합니다. ASP.NET은 생성된 WSDL 문서에 SOAP 헤더가 필요함을 나타내기 위해 soap:header 요소에서 wsdl:required 특성을 **"true"**로 설정합니다. WSDL 문서에서 빌드된 웹 서비스의 .NET Framework 클라이언트는 필요한 SOAP 헤더를 보내지 않고 다른 클라이언트가 SOAP 오류를 받을 경우 SoapHeaderException을 받습니다. 다른 SOAP 구현과의 상호 운용성을 위해 이후 버전에서는 이 기능이 제거됩니다.

Required 속성은 1.1 버전에서 사용되지 않으며, WSDL 문서에 있는 soap:header 요소의 wsdl:required 특성은 웹 서비스 기술 언어 도구(Wsdl.exe)에서 무시됩니다. SOAP 헤더가 더 이상 필요하지 않을 수 있으므로 웹 서비스에서 SOAP 헤더를 나타내는 필드 또는 속성이 null이 아닌지 확인한 다음 액세스해야 합니다.

참고 항목

참조

SoapHeaderException
SoapHeader
SoapHeaderAttribute
SoapUnknownHeader

개념

XML Web services에서 예외 처리 및 throw
XML Web services 클라이언트 빌드

기타 리소스

ASP.NET을 사용하는 XML Web services