WS-I BP2012断言是什么意思?

时间:2012-03-05 23:03:17

标签: web-services wsdl ws-i

有人可以解释这实际意味着什么吗?一个例子真的很有帮助。

  

WS-I:(BP2012)文档 - 文字绑定包含soapbind:body   引用没有的消息部分元素的元素   元素属性。

1 个答案:

答案 0 :(得分:8)

此消息与WS-I Basic Profile有关,{{3}}试图澄清WSDL的子集以及通常可互操作的其他规范。

在这种情况下,BP2012与以下内容相关联:

  

描述中的文档 - 文字绑定必须在每个中引用   wsoap12:body元素,仅限于wsdl:part元素   使用element属性定义。

如果您的网络服务中使用的其中一条消息是根据type而不是element定义的,则通常会看到此消息,例如:

<wsdl:message name="MyMessage">
    <wsdl:part name="MyPart" type="xsd:string"/>
</wsdl:message>

要解决此问题,您需要更改消息,以便根据part定义element,例如:

<wsdl:types>
    <xsd:schema targetNamespace="http://www.example.com/"
        xmlns:xsd="http://www.w3.org/1999/XMLSchema">
        <xsd:element name="MyElement" type="xsd:string"/>
    </xsd:schema>
</wsdl:types>

<wsdl:message name="MyMessage">
    <wsdl:part name="MyPart" element="tns:MyElement" xmlns:tns="http://www.example.com/"/>
</wsdl:message>

或者,您可能希望将Web服务从使用document/literal绑定切换为使用rpc/literal绑定。使用rpc/literal绑定时,部分是根据type而非element定义的。