首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在WSDL中将SOAP标头标记为可选?

如何在WSDL中将SOAP标头标记为可选?
EN

Stack Overflow用户
提问于 2016-01-21 18:07:57
回答 1查看 1.2K关注 0票数 16

我有一个带有可选标头的wsdl:

代码语言:javascript
复制
<s:element name="AuthIdentifier" type="tns:AuthIdentifier"/>
<s:complexType name="AuthIdentifier">
  <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string"/>
  </s:sequence>
  <s:anyAttribute/>
</s:complexType>

客户端正在使用集成软件(tibco)连接到我的服务,并声称需要标头,因此他必须将其与空值一起发送:

代码语言:javascript
复制
<Header.AuthIdentifier>
   <ns0:AuthIdentifier xmlns:ns0 = "http://www.tal.com/schemas"/>
</Header.AuthIdentifier>

如何将其设为可选?这样他就不需要发送整个报头了?有没有minOccurs之类的东西?还是像现在一样已经是可选的了?

EN

回答 1

Stack Overflow用户

发布于 2016-08-22 23:52:40

根据"Web Service Contract Design & Versioning“,Thomas Erl等人(ISBN-13: 978-0-13-613517-3) 15.4章,在WSDL中定义SOAP块:

WSDL1.1规范不清楚WSDL1.1文档中描述的SOAP头是否必须包含在使用者中。WS-I Basic Profile强制要求消费者包含它们,但WDL 2.0提供了是否应该强制消费者包含它们的选项。第472页。

在WSDL2.0中,您可以将自定义SOAP标头块中的属性wsdl:required=设置为“false”,以指示使用者是否必须包括此标头块。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34920717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档