XML - статьи



              

Описание вложений - часть 2


В этом фрагменте часть (part) photo-reference входного сообщения привязана к телу SOAP (SOAP Body), а часть (part) photo-attachment - к отдельной части (part) MIME. Ниже приведен пример входного сообщения для соединения my-binding:

MIME-Version: 1.0 Content-Type: Multipart/Related; boundary=boundary; type=text/xml; start="<my-root-part@example.com>" Content-Description: This is an optional message description.

--boundary Content-Type: text/xml; charset="UTF-8" Content-Transfer-Encoding: 8bit Content-ID: <my-root-part@example.com>

<?xml version='1.0' ?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Body xmlns:types="http://example.com/some-namespace"> <types:my-operation> <photo-reference>cid:my-cool-photo@example.com</photo-reference> </types:my-operation> </env:Body> </env:Envelope>

--boundary Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-ID: <my-cool-photo@example.com>

...binary photograph... --boundary--

Заметим, что входное сообщение привязано к соединению MIME, а выходное - к соединению SOAP HTTP по Basic Profile 1.0. Basic Profile 1.1 допускает подобное смешение. На самом деле Basic Profile 1.1 "идет дальше" - если используемое соединение MIME, а тело SOAP (SOAP Body) - единственная перечисленная часть MIME, отправитель может отправить это сообщение, применяя соединение SOAP HTTP (если нет вложений) или соединение MIME.

Ниже приведен эквивалентный пример с такими же входным и выходным сообщениями. В этом фрагменте используется стиль document/literal вместо rpc/literal (заметим, что префикс types пространства имен привязан к URI (Uniform Resource Identifier, Универсальный идентификатор ресурса) для пространства имен http://example.com/some-namespace):

<wsdl:types> <schema targetNamespace="http://example.com/some-namespace" xmlns="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="unqualified"> <element name="my-operation"> <complexType> <sequence> <element name="photo-reference" type="xsd:anyURI"/> </sequence> </complexType> </element> <element name="my-operationResponse"> <complexType> <sequence> <element name="result" type="xsd:string"/> <sequence> </complexType> </element> </schema> </wsdl:types>




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