XML - статьи



              

Описание вложений


Как указано в уставе Рабочей группы Basic Profile, добавление в разрабатываемый стандарт положения о поддержке вложений предусматривает обратную совместимость. Это означает, что все артефакты Basic Profile 1.0 (DESCRIPTION, MESSAGE, INSTANCE и т.д.) будут также совместимы и с Basic Profile 1.1. Для этого в Basic Profile 1.0 были удалены и изменены требования, согласно которым соединение (binding) ограничивается только SOAP HTTP, то есть теперь стало допустимым соединение SOAP HTTP, либо соединение MIME.

Хотя SwA довольно надежная спецификация, Раздел 5 "MIME Binding" Примечания WSDL 1.1 не совсем точно определен, что ведет к проблемам с совместимостью. Basic Profile 1.1 связывает этот раздел с SwA. Соединения MIME трактуются как нечто отличное от SwA. В Basic Profile 1.1 также исправлены двусмысленности соединений MIME, а также ошибки ("баги") в схеме соединений MIME.

Приведенный ниже фрагмент кода WSDL 1.1 демонстрирует, что можно делать с помощью Basic Profile 1.1 для стиля rpc/literal (заметим, что префиксы пространства имен привязаны к тем же самым универсальным идентификаторам ресурса, как и в Разделе 1.2 :

<wsdl:message name="msg-in"> <wsdl:part name="photo-reference" type="xsd:anyURI"/> <wsdl:part name="photo-attachment" type="xsd:base64Binary"/> </wsdl:message>

<wsdl:message name="msg-out"> <wsdl:part name="result" type="xsd:string"/> </wsdl:message>

<wsdl:portType name="my-portType"> <wsdl:operation name="my-operation"> <wsdl:input message="tns:msg-in"/> <wsdl:output message="tns:msg-out"/> </wsdl:operation> </wsdl:portType>

<wsdl:binding name="my-binding" type="tns:my-portType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="my-operation"> <soap:operation soapAction="http://example.com/soapaction"/> <wsdl:input> <mime:multipartRelated> <mime:part> <soap:body parts="photo-reference" use="literal" namespace="http://example.com/some-namespace"/> </mime:part> <mime:part> <mime:content part="photo-attachment" type="application/octetstream"/> </mime:part> </mime:multipartRelated> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://example.com/some-namespace"/> </wsdl:output> </wsdl:operation> </wsdl:binding>




Содержание  Назад  Вперед