ГОСТ Р ИСО/МЭК 29361— 2012
<m:BarOperation xmlns:m-’
http://example.org/barr>
<BarAccessor>
<foo:bar>String</foo:bar>
<foo:baf>0</foo:baf>
</BarAccessor>
</m:BarOperation>
</s:Body>
</s:Envetope>
4.7.22 Обязательные заголовки
В WSDL 1.1 нет ясной спецификации того, все ли элемнты soapbind:header. заданные в элементах
wsdhinputили wsdl:output элемента wsdkoperation в разделе привязки SOAP описания WSDL. должны быть
включены в результирующие оболочки при передаче. В Профиле установлена обязательность таких заго
ловков. так как вWSDL 1.1 нет способа пометить факультативный заголовок.
R2738 ОБОЛОЧКА ДОЛЖНА включать в себя все элементы soapbind.header, специфицированные
в элементах wsdl:input или wsdl:output элемента wsdLoperation в элементе wsdLbinding. который их
описывает.
4.7.23Допустимость неописанных заголовков
Заголовки являются методом расширения SOAP. По различным причинам может потребоваться вклю
чить в оболочку заголовки, не определенные вописании WSDL.
R2739 ОБОЛОЧКА МОЖЕТ содержать блоки заголовков SOAP, которыене описаны в описываю
щем ее wsdLbinding.
R2753 ОБОЛОЧКА, содержащая блоки заголовков SOAP, которые не описаны в соответствую
щем wsdLbinding, МОЖЕТ иметь втаких блоках заголовков SOAP атрибут mustUnderstandравный «1».
4.7.24 Порядок заголовков
Нет связи между порядком элементов soapbind:header в описании и порядком блоков заголовков
SOAP воболочке. Аналогично, воболочке может встретиться несколько экземпляров каждого специфици
рованного блока заголовка SOAP.
R2751 Порядок элементов soapbind:headerвразделе soapbind.binding ОПИСАНИЯ ДОЛЖЕН рас
сматриваться независимо от порядка блоков заголовков SOAP в оболочке.
R2752 ОБОЛОЧКА МОЖЕТ содержать несколько экземпляровкаждого блока заголовка SOAP для
каждого элемента soapbind:headerвсоответствующем потомке элемента soapbind:binding соответ
ствующего описания.
4.7.25 Описание SOAPAction
Тестирование интероперабельности показало, что требование заключать в кавычки значение поля
SOAPAction заголовка HTTP повышает интероперабельность реализаций. Хотя в HTTP допускается не зак
лючать значения полей в кавычки, некоторые реализации требуют наличия кавычек.
Заголовок SOAPAction является лишь подсказкой процессорам. Вся существенная информация, от
носящаяся к сообщению, передается в оболочке.
R2744 СООБЩЕНИЕ запроса HTTP ДОЛЖНО содержать поле заголовка HTTP SOAPAction сзаклю
ченным в кавычки значением, равным значению атрибута soapAction элемента soapbind.operation, при
его наличи в соответствующем описании WSDL.
R2745 СООБЩЕНИЕ запроса HTTPДОЛЖНО содержать поло заголовка HTTP SOAPAction сзаклю
ченной в кавычки пустой строкой, если в соответствующем описании WSDL soapAction в
soapbind.operation либо отсутствует, либо имеется с пустой строкой в качестве значения.
Подробнее о SOAPAction см. в R1119 и относящихся к нему требованиях.
Например.
ПРАВИЛЬНО:
Описание WSDL, которое содержит:
<soapbind:operation soapAction=*foo" l>
приведет к сообщению с полем SOAPAction заголовка HTTP вида:
SOAPAction: "foo"
ПРАВИЛЬНО:
Описание WSDL, которое содержит:
<soapbind:operation />
28