결함 메시지가 있는 일반 WSDL 예제를 사용하여 SOAP 결함이 WSDL 파일에 정의되는 방법을 확인하십시오.
일반적인 WSDL 예제에는 “MathOps”라는 포트 유형이 들어 있습니다. “DivByZeroStruct”, “SpecialDetailStruct” 및 “OutOfBoundStruct”라는 세 개의 가능한 결함 메시지가 있는 “div”라는 조작이 있습니다.
<wsdl:portType name="MathOps"> <wsdl:operation name="div"> <wsdl:input message="impl:divRequest" name="divRequest"/> <wsdl:output message="impl:divResponse" name="divResponse"/> <wsdl:fault message="impl:DivByZeroStruct" name="DivByZeroStruct"/> <wsdl:fault message="impl:SpecialDetailStruct" name="SpecialDetailStruct"/> <wsdl:fault message="impl:OutOfBoundStruct" name="OutOfBoundStruct"/> </wsdl:operation> </wsdl:portType>
이러한 메시지 구조의 정의는 WSDL의 앞부분에 다음과 같이 설명되어 있습니다.
<complexType name="OutOfBoundStruct"> <sequence> <element name="varString" nillable="true" type="xsd:string"/> <element name="varInt" type="xsd:int"/> <element name="specialDetail" nillable="true" type="impl:SpecialDetailStruct"/> </sequence> </complexType> <complexType name="SpecialDetailStruct"> <sequence> <element name="varString" nillable="true" type="xsd:string"/> </sequence> </complexType> <element name="OutOfBoundStruct" nillable="true" type="impl:OutOfBoundStruct"/> <complexType name="DivByZeroStruct"> <sequence> <element name="varString" nillable="true" type="xsd:string"/> <element name="varInt" type="xsd:int"/> <element name="varFloat" type="xsd:float"/> </sequence> </complexType>