WSDL 设计 XML 模式注意事项(三)

日期: 2007-12-17 作者:Shawn X. K. Hu 来源:TechTarget中国

  清单 4. Document 样式的 Employee 消息的 WSDL 定义
    

   <wsdl:message name=”publishEmployeeServiceRequest”>
     <wsdl:part name=”employee” element=”typeIn:Employee”>
       <wsdl:documentation>publish employee information</wsdl:documentation>
     </wsdl:part>
   </wsdl:message>

   <wsdl:binding … >
     <soap:binding … />
     <wsdl:operation name=”publishEmployeeService”>
       <soap:operation  style=”document”/>
       <wsdl:input name=”employee”>
         <soap:body use=”literal”/>
       </wsdl:input>
       ….
     </wsdl:operation>
   </wsdl:binding>

  清单 5. Document 样式的 ErpPerson 消息的 WSDL 定义
    

   <wsdl:message name=”publishErpPersonServiceRequest”>
     <wsdl:part name=”erpPerson” element=”typeIn:ErpPerson”>
       <wsdl:documentation>publish employee data</wsdl:documentation>
     </wsdl:part>
   </wsdl:message>

   <wsdl:binding … >
     <soap:binding … />
     <wsdl:operation name=”publishEmployeeService”>
       <soap:operation  style=”document”/>
       <wsdl:input name=”erpPerson”>
         <soap:body use=”literal”/>
       </wsdl:input>
       ….
     </wsdl:operation>
   </wsdl:binding>

  清单 6. Document 样式的 ErpAddress 消息的 WSDL 定义
    
…   <wsdl:message name=”publishErpAddressServiceRequest”>
     <wsdl:part name=”erpAddress” element=”typeIn:ErpAddress”>
       <wsdl:documentation>publish employee address data</wsdl:documentation>
     </wsdl:part>
   </wsdl:message>

   <wsdl:binding … >
     <soap:binding … />
     <wsdl:operation name=”publishErpAddressService”>
       <soap:operation  style=”document”/>
       <wsdl:input name=”erpAddress”>
         <soap:body use=”literal”/>
       </wsdl:input>
       …
     </wsdl:operation>
   </wsdl:binding>

  不过,Salami Slice 模式并不适用于 RPC 样式的 WSDL,因为其中未定义全局级别的类型(简单类型或复杂类型)。

  Venetian Blind

  在此模式中,模式中除根元素外的所有全局级别的组件都定义为类型。Venetian Blind 模式与 Russian Doll 类似,因为都使用的是单个全局元素。Venetian Blind 和 Salami Slice 模式的区别在于,所有全局组件(除根元素外)现在都定义为类型,而不是像 Salami Slice 模式中一样定义为模式元素。

  Venetian Blind 通常可以用于 Document 和 RPC 绑定类型。以下模式表示了与之前的示例相同的 Employee 信息,但采用的是 Venetian Blind 模式。除了根元素“Employee”外,全局级别的复杂类型定义如下:

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐