ICS35.100.05
中华人民共和国国家标准
GB/T35103—2017
信息技术
Web服务互操作基本轮廓
Information technology-Web services interoperability basic profile(ISO/IEC29361:2008,Information technologyWeb services interoperability-WS-IbasicprofileMOD)2017-11-01发布
中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会
2018-05-01实施
规范性引用文件
术语、定义和缩略语
符合性
消息传输
服务描述
服务发布和发现
安全性·
附录A(资料性附录)本标准与ISO/IEC29361:2008章条编号附录B(资料性附录)扩展点·….参考文献
照一览表
GB/T35103—2017
iKAoNi KAca
iiiKAoNiKAca
本标准按照GB/T1.1一2009给出的规则起草GB/T35103—2017
本标准采用重新起草法修改采用ISO/IEC29361:2008《信息技术Web服务互操作基本轮廓》本标准与ISO/IEC29361:2008相比在结构上有较多调整,附录A列出了本标准与ISO/IEC29361:2008的章条编号对照一览表。
本标准还做了下列编辑性修改:删除该国际标准附录E“致谢”。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本标准起草单位:中国电子技术标准化研究院、北京航空航天大学、北京东方通科技股份有限公司、浪潮软件股份有限公司、工业和信息化部电子第五研究所、北京有生博大软件技术有限公司。本标准主要起草人:董建、赵永望、王潮阳、袁媛、樊星、余云涛、邓鹏飞、贾德星、李冬、赵斌、李轶强。iKAoNi KAca
iiKANiKAca
1范围
信息技术
Web服务互操作基本轮廓
GB/T35103—2017
本标准为提高Web服务互操作而对相关标准的要求给出进一步的澄清、细化、说明、补充。本标准适用于Web服务的设计、开发及测试,部署,发布,运行和维护。2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件IETFRFC2246TLS协议1.0(TheTLSProtocolVersion1.0)IETFRFC2459因特网X.509公钥基础设施证书和CRL概要(InternetX.509PublicKeyInfrastructure Certificate and CRL Profile)IETFRFC2616超文本传输协议(HypertextTransferProtocol,HTTP1.1)IETFRFC2818基于TLS协议的HTTP(HTTPOverTLS)IETFRFC2965
HTTP状态管理机制(RFC2965:HTTPStateManagementMechanism)IETFRFC6101SSL协议3.0(TheSSLProtocolVersion3.0)OASISUDDI第2版XML模式(UDDIVersion2XMLSchema)OASISUDDI第2.03版数据结构引用(UDDIVersion2.03DataStructureReference,2002)OASISUDDI第2.04版
API规范(UDDIVersion2.04API.2002)W3C可扩展置标语言1.o第二版[ExtensibleMarkupLanguage(XML)1.o(SecondEdition)W3C简单对象访问协议1.1(SOAP1.1)(SimpleObjectAccessProtocol1.1)W3CWeb服务描述语言1.1(简称WSDL1.1)(WebServiceDescriptionLanguage1.1)W3CXML1.0中的命名空间(NamespacesinXML1.0)W3CXML模式第1部分结构(XMLSchemaPart1:Structures)W3CXML模式第2部分数据类型(XMLSchemaPart2:Datatypes)3术语、定义和缩略语
3.1术语和定义
下列术语和定义适用于本文件
制品artifact
由某一种软件开发过程所使用的或产生的一种信息的物理件。制品的实例有模型、源文件、文字和二进制可执行文件。制品可构成可部署构件的实现[GB/T11457—2006,定义2.76]3.1.2
消息message
用于传输信封的协议元素(例如SOAP或HTTP消息)。1
HTiKAoNi KAca
GB/T35103—2017
信封envelope
soap:Envelope元素及内容的序列。3.1.4
描述description
Web服务相关的类型、消息、接口、具体协议、数据格式绑定、网络访问点的描述信息(例如WSDL描述)。
实例instance
实现了wsdl:port或uddi:bindingTemplate元素的软件。3.1.6
消费者
consumer
引用了实例的软件。
发送者sender
按照与其相关联的协议生成消息的软件。3.1.8
接收者receiver
按照与其相关联的协议处理消息的软件(例如SOAP处理器)。3.1.9
注册数据
regdata
Web服务注册和发现中涉及的注册元素(例如UDDI tModel)。3.1.10
操作签名operation signature
SOAP消息体与其子元素的全称,该SOAP消息为一个WSDL绑定的输人消息。3.1.11
远程规程调用-原义绑定rpc-literalbinding一种wsdl:binding元素,它的所有wsdl:operation子元素都是远程规程调用-原义操作。3.1.12
远程规程调用-原义操作rpc-literaloperationwsdl:binding的wsdl:operation子元素,这些wsdl:binding的后代元素soapbind:body指定use属性的值为\literal\,或者满足下列两者之一:a)指定子元素soapbind:operation的style属性值为\rpc”;b)子元素soapbind:operation中没有style属性,而wsdl:binding元素所包含的soapbindbinding元素的style属性值为“rpc\。3.1.13
文档-原义绑定document-literalbinding一种wsdl:binding元素,它的所有wsdl:operation子元素都是文档-原义操作。3.1.14
文档-原义操作document-literaloperationwsdl:binding的wsdl:operation子元素,这些wsdl:binding的后代元素soapbind:body指定use属性的值为\literal”,或者满足下列三者之一:a)子元素soapbind:operation指定style属性的值为\document”;2
iiiKAoNikAca
GB/T35103—2017
b)子元素soapbind:operation中没有style属性,而wsdl:binding元素所包含的soapbindbinding元素的style属性值为\document”;c)子元素soapbind:operation和元素wsdl:binding所包含的soapbind:binding元素中都没有style属性。
3.2缩略语
下列缩略语适用于本文件。
SOAP:简单对象访问协议(SimpleObjectAccessProtocol))URI:统一资源标识符(UniformResourceIdentifier)URL统一资源定位符(UniformResourceLocator)WSDL:Web服务描述语言(WebServiceDescriptionLanguage)HTTP:超文本传输协议(HyperTextTransferProtocol)HTTPS:安全超文本传输协议(HypertextTransferProtocoloverSecureSocketLayer)RPC远程规程调用(RemoteProcedureCall))4约定
本标准对要求的规范性陈述(即影响符合性的要求,见5.2的描述)按下列方式表述:Rnnnn此处给出对应此编号的具体陈述。其中“nnnn”用号码替代,是本标准中每个要求的唯一的号码,因而是唯一要求标识符。可以把要求标识符看成是合格命名空间,以这种方式与XML命名空间的QName兼容。如果某个要求的标识符没有明显的命名空间前缀(例如,相对于*bp10:R9999的“R9999”),那么,它应该被理解为在确定发生的文档部分的符合性URI命名空间中。如果命名空间是合格的,则宜按照下面形成文档的实际命名空间映射予以解释。有些要求是对所引用的规范的澄清,并非对实现设置附加的约束条件。为阅读便利,这些澄清部分的后面加一个记号:C。
有些要求是在对所引用的规范进一步开展标准化工作的过程中产生的。为阅读便利,此类进行中的工作产生的要求陈述用X×××作为注释,这里的×X××是该规范的标识符(例如,把“WSDL20”表示WSDL2.0)。注意,鉴于在相应的规范发布时,此类标准化工作尚未完成,因此,派生于该规范的要求可能会变化;纳人此类信息仅仅是为了给实现者提供方便。基础规范(见符合性范围)中的扩展点使用类似的方式表现:Ennnn对应此扩展点编号的描述。其中,“nnnn\代之以本标准中的扩展点的唯一号码。若具有要求陈述,该扩展陈述可以看成是合格命名空间。扩展点汇总参见附录B。本标准中大量使用命名空间前缀,与之关联的URI如下。注意,命名空间前缀的选择是随意的,与语义无关。
soap:http://schemas.xmlsoap.org/soap/envelope/;xsi:http://w3.org/2001/XMLSchema-instance;xsd.http://w3.org/2001/XMLSchema;soapenc:http://schemas.xmlsoap.org/soap/encoding/;wsdl:http://schemas.xmlsoap.org/wsdl/;soapbind.http://schemas.xmlsoap.org/wsdl/soap/;uddi:urn:uddi-orgapi_v2。
HiiKAoNiKAca
GB/T35103—2017
5符合性
5.1概述
标准符合性定义为与本标准范围内为特定的对象而定义的一组要求的一致性。本章解释了相关术语,并描述了符合性的定义和使用。5.2符合性要求
要求规定了符合本标准的准则,通常包括为提高互操作性而对规范性引用文件中的标准进行的澄清、细化、解释。本标准中的所有要求均是规范性的,要求引用到的规范(见5.4)也认为是规范性的。当两者不一致时,应优先遵从本标准。每项要求都有单独标识(如R9999所示)。例如:R9999窗口宜是圆形的。
该要求标识是R9999,适用对象是窗口,并规定了窗口的条件要求。每项要求中包括一个要求级别词(如“应”)和一个符合性对象(如“消息”)。符合性对象应为粗体(如“消息”)表示。其他出现的非粗体的符合性对象应严格使用其定义,不应作为一个符合性对象。可以在本标准其他文本对要求进行说明(例如基本原理和示例),但这些说明不应决定符合性。本标准中规定的术语在确定符合性方面被认为是权威的。本标准中规定的要求,不管其符合性程度如何,均不应限制其他符合性实现在应对真实或潜在威胁(如拒绝服务攻击)时应用防范措施的能力。5.3符合性对象
符合性对象用于标识适用要求的制品(如SOAP消息、WSDL描述,UDDI注册数据)或参与者(如SOAP解析器、终端用户)。
符合性对象在不同上下文中定义符合性,以保证对要求适用性的明确解释,并允许对制品及Web服务各方进行符合性测试。
要求的符合性对象尽可能是物理制品,以简化测试和避免歧义。本标准中用到的对象为消息、信封、描述、实例、消费者、接收者、注册数据。对象用粗黑体表示。5.4符合性范围
本标准的范围描述它相关的技术,即本标准只试图提高它自已的范围内的互操作性。标准的范围参见引用的规范。
本标准范围通过扩展点细化。引用的规范往往会提供扩展机制和未指定或不固定的配置参数。如果标识为扩展点,则这样的机制或参数就超出了本标准的范围,并且其使用不以符合本标准为条件。注意,标准可对扩展点的使用进行要求。扩展点的使用也可以在其他标准中规定,与本标准一起使用提高互操作性。
因为扩展点的使用可能会削弱Web服务的互操作性,所以Web服务的各方应以某种方式协商和文档化其使用。例如,可以采取额外协定的形式。5.5符合性声明
如果已经满足本标准中与所列对象关联的要求,可以使用符合性声明依附机制中所描述的下列机制声明符合本标准。
WSDL1.1Claim Attachment Mechanism for Web Services Instances-MESSAGEDESCRIPTIONINSTANCERECEIVER;
GB/T35103—2017
WSDL 1.1 Claim Attachment Mechanism for Description Constructs-DESCRIPTION-UDDIClaimAttachment Mechanism for Web Services Instances-MESSAGEDESCRIPTIONINSTANCERECEIVER;
UDDI Claim Attachment.
本标准的符合性声明URI是http://ws-i.org/profiles/basic/1.1。6消息传输
6.1概述
本章以引用的方式纳人了简单对象访问协议(SOAP1.1)RFC2616(超文本传输协议-HTTP1.1)和RFC2965(HTTP状态管理机制)等规范,并且定义了SOAP1.1和HTTP1.1的扩展点。SOAP1.1,扩展点:
E0001一头代码块一一头代码块是SOAP中基本的可扩展性机制E0002一处理顺序一一SOAP消息的组件(例如头文件)的处理顺序尚未指定,因而可能会需要额外协商。
E0003一中介使用一SOAP中介是SOAP1.1中尚未确认的机制,其使用可能会需要额外协商并要仔细考虑在何处度量标准符合性。E0004-soap:actor
soapactor属性的值是Web服务各方之间的私有协定。E0005—Faultdetail元素
Fault中detail元素的内容不由SOAP1.1规定,E0006一信封序列化一本标准并不强制信封转变成消息的一些细节方面。HTTP1.1,扩展点:
E0007—HTTP验证
方式。
HTTP验证允许采用扩展模式、任意摘要哈希算法和参数验证E0008一未指定的头字段—
HTTP充许任意头字段出现在消息中。Eooo9一Expect扩展HTTP中的Expect/Continue机制允许采用Expect扩展。E0010一内容编码—HTTP允许使用的内容编码集尚未确定。E0011一转换编码—HTTP充许使用的转换编码集尚未确定E0012一升级一一HTTP可以通过升级头文件的方式连接转换到其他协议Eoo24一命名空间属性一关于soap:Envelope和soap:Header元素的命名空间属性。E0025一5oap:Body元素属性——在SOAP1.1中,不强制命名空间和本地属性。6.2SOAP信封
6.2.1概述
本条引用SOAP1.1的第4章。
SOAP1.1定义了一种构建消息的结构,即信封。本标准规定信封的使用,并做了如下限制。6.2.2SOAP信封结构
R9980信封应符合SOAP1.1第4章“SOAP信封”中规定的结构。R9981信封应准确包含soap:Body元素中的0个或1个子元素。R2201和R2210的组合清楚地表明可能最多只有soap:Body的一个子元素的情况,本标准中没有给出关于此限制条件的明确要求,导致矛盾。6.2.3SOAP信封命名空间
SOAP1.1规定,若信封的文档元素的命名空间名称不是http://schemas.xmlsoap.org/soap/enve5
GB/T35103—2017
lope/,则宜抛弃该信封。为确保操作明确,本标准要求改为生成故障。R1015接收者遇到的信封,若其文档元素不是“soap:Envelope”,则应生成故障。6.2.4SOAPBody命名空间限定
使用不合格的元素名称可能导致命名冲突,因此soap:Body的子元素应使用合格名称。R1014信封中的soap:Body元素的子元素应使用合格命名空间。6.2.5禁止构造
在信封中使用XMLDTD和PI可能导致安全隐患、额外处理开销和语义歧义。因此,SOAP1.1第3章规定禁止使用某些构造。
XML命名空间勘误表中允许出现命名空间声明xmlns:xml=http://w3.org/XML/1998/namespace\,但一些较老的处理器将此声明认为错误。下列要求确保制品将有最广泛的互操作性。R1008信封不应包含文档类型声明。CR1009信封不应包含处理指令。CR1033信封不宜使用命名空间声明:xmlns:xml=“http://w3.org/XML/1998/namespace\. C
R1034描述不宜使用命名空间声明:xmlns:xml=“http://www。w3.org/XML/1998/namespace\。C
bZxz.net6.2.6SOAP结尾
SOAP1.1关于跟随soap:Body元素的兄弟元素的解释不清楚。本标准禁止此类元素。R1o11一个信封,在soap:Envelope的任何子元素后面不得跟随soap:Body元素。注:本要求澄清了SOAP1.1规范和SOAP1.1XML模式之间的不匹配。例如:
错误的信封:
(m:Dataxmlns:m=\http://example.org/information)此为消息中的一些数据
(/m:Data>
正确的信封:
(soap:Envelopexmlns:soap=*http://schemas.xmlsoap.org/soap/envelope/\)
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。