첨부의 SOAP 메시지: WSDL 예제
이 태스크를 사용하여 첨부와 함께 WSDL 파일의 설명과 예제를 확인합니다.
예
다음 WSDL 예는 attch라는 한 첨부 자료가 있는 단순한 조작을 보여 줍니다.
<binding name="MyBinding" type="tns:abc" >
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="MyOperation">
<soap:operation soapAction=""/>
<input>
<mime:multipartRelated>
<mime:part>
<soap:body parts="part1 part2 ..." use="encoded" namespace="http://mynamespace"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding"/>
</mime:part>
<mime:part>
<mime:content part="attch" type="text/html"/>
</mime:part>
</mime:multipartRelated>
</input>
</operation>
</binding>
이 유형의 WSDL 확장에서:
- 조작(이 예에서는 MyOperation)에 대한 입력 메시지에는 part 속성(이 예에서는 attch)이 있어야 합니다. MyOperation에 대한 첨부 자료가 아닌 다른 입력 파트가 있을 수 있습니다.
- 바인딩 입력에는 <soap:body> 태그 또는 <mime:multipartRelated> 태그가 있어야 하며, 두 태그가 모두 있으면 안됩니다.
- MIME 메시지의 경우, <soap:body> 태그는 <mime:part> 태그 내에 있습니다. text/xml의 컨텐츠 유형이 <soap:body> 태그에 대해 가정되기 때문에, 바인딩 입력에는 <soap:body> 태그를 포함하고 <mime:content> 태그를 포함하지 않는 <mime:part> 태그가 하나만 있어야 합니다.
- MIME 메시지에는 각 자료가 <mime:part> 태그에서 설명되는 여러 첨부 자료가 있을 수 있습니다.
- <soap:body> 태그가 포함되지 않은 각 <mime:part> 태그에는 첨부 자료 자체를 설명하는 <mime:content> 태그가 포함됩니다. <mime:content> 태그 내의 type 속성은 서비스 통합 버스에서 검사되거나 사용되지 않습니다. 이는 서비스 통합 버스를 사용하는 애플리케이션에 첨부에 포함된 내용을 제안하기 위한 것입니다. 단일 <mime:part> 태그 내의 여러 <mime:content> 태그는 백엔드 서비스가 이 <mime:part> 태그 내의 <mime:content> 태그 중 하나로 지정된 유형의 단일 첨부 자료를 예상함을 의미합니다.
- <soap:body> 태그 내의 parts="..." <soap:body> 태그 내 속성은 첨부 파트가 아니라, 메시지에 모든 SOAP 파트의 이름을 포함한다고 가정합니다. 첨부 파트만 있는 경우 parts=""(빈 문자열)를 지정하십시오. parts 속성을 함께 생략하는 경우 서비스 통합 버스는 첨부를 포함하는 모든 파트를 가정합니다. 이 때문에 첨부가 두 번 나타납니다.
WSDL에서 첨부에 대한 스키마를 정의했을 수도 있습니다(예: binary[]로). 서비스 통합 기술은 자동으로 이 맵핑을 무시하고 데이터 핸들러로 첨부를 처리합니다.
WSDL 바인딩에서 참조되지 않은 첨부를 언급하지 않아도 됩니다.