단순 WSDL
단순 WSDL을 사용하면 기본 WSDL에 자세하게 설명되어 있는 SQL Server 2005 시스템 유형 대신 원시 XSD 데이터 형식을 사용하는 WSDL 문서의 정리된 버전을 만들 수 있습니다. 단순 WSDL에서는 기본 WSDL에서 완전 지원하는 다양한 SQL Server 데이터 형식 중 일부만 지원하지만 대신 기본 WSDL 및 해당 형식 시스템의 모든 패싯을 매핑하거나 처리할 수 없는 클라이언트와 프록시 클래스 생성자에 소비 가능한 WSDL 문서를 제공하는 과정이 단순합니다.
단순 WSDL과 기본 WSDL의 차이점
단순 WSDL 형식과 기본 WSDL 형식을 구분하는 가장 큰 이유는 단순 WSDL 형식이 이전 버전과의 호환성을 제공하고 기본 WSDL 형식을 이해하지 못하는 SOAP 클라이언트를 지원하기 위한 것이기 때문입니다.
SOAP Toolkit에 기반을 둔 단순 웹 서비스 클라이언트도 지원됩니다. 이들 클라이언트는 기본 WSDL 문서를 SQL Server 의 인스턴스가 생성하기 때문에 해석하지 못합니다. 이러한 제한은 SOAP Toolkit과 다른 더 간단한 웹 서비스 클라이언트가 다양한 SQL Server 2005 시스템 형식 중 일부를 해석하지 못하기 때문에 생기는 것입니다. 따라서 더 간단한 클라이언트나 이전 클라이언트의 이러한 제한을 허용하기 위해 단순 WSD에서는 모든 SQL Server 형식 요소를 기본 XSD 형식으로 매핑합니다.
예를 들어 totalDigits
및 fractionDigits
와 원래 XSD 형식을 파생시키는 데 사용되는 그 밖의 다른 추가 요소의 정의 세분성으로 인해 SOAP Toolkit 클라이언트는 sqltypes:money를 이해하는 데 문제가 있는 것으로 알려져 있습니다. 그러나 SOAP Toolkit은 int
와 같은 XSD 형식의 직접 매핑을 세밀하게 처리할 수 있습니다.
파생 형식(기본 WSDL)
<xsd:simpleType name="money">
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="19">
</xsd:totalDigits>
<xsd:fractionDigits value="4">
</xsd:fractionDigits>
<xsd:maxInclusive value="922337203685477.5807">
</xsd:maxInclusive>
<xsd:minInclusive value="-922337203685477.5808">
</xsd:minInclusive>
</xsd:restriction>
</xsd:simpleType>
직접 매핑(단순 WSDL)
<xsd:simpleType name="int">
<xsd:restriction base="xsd:int">
</xsd:restriction>
</xsd:simpleType>
그 밖의 예로 RPC 응답도 있습니다. 기본 WSDL에서는 응답 유형을 SqlResultStream으로 설정합니다. 이러한 설정은 해당 "유형" 섹션에서 추가로 정의됩니다. 반대로 응답 유형은 <xsd:any>를 지정하는 일반 <xsd:complexType>으로 설정됩니다. 이렇게 하면 모든 내용이 허용됩니다. 이렇게 WSDL 문서를 수정하면 단순 웹 서비스 클라이언트가 파생된 SQL Server 응답 유형의 구문을 분석하지 못하는 문제를 해결할 수 있습니다.
[!참고] WSDL 요청은 SOAP 세션에 참여할 수 없습니다. SOAP 세션에 대한 자세한 내용은 SOAP 세션 작업을 참조하십시오.
단순 WSDL의 SQL Server - XSD 형식 간 매핑
SQL Server 시스템 데이터 형식을 단순 WSDL의 XSD(XML 스키마) 형식으로 매핑하는 방법은 네이티브 XML 웹 서비스의 데이터 형식 매핑을 참조하십시오.