正 文

避免混淆数据集合和Web服务


www.7dspace.com  更新日期:2005-9-14 7:12:21  七度空间


  模式定义再表中有三个列是由他们的类型来定义的,但是请注意粗体字部分。模式的规范包括一个微软的具体的命名空间,还有一个来自称之为"IsDataSet"的命名空间的属性设置为真——输入的数据实际上是一个ADO.NET数据集。

  所以一个对ADO.NET数据集没有概念的基于java的客户程序需要直接的同数据协作,例如XML。当那不一起排除互操作性同时,这就使得在最后的结果只是一个在三个领域的客户列表的时候,情况更加困难了。

  通过首先使用数据集和使用一列自定义类型来替代,Web服务可以具有更加有用和更好的互操作性。下面是一个使用自定义类型创造的Web服务 的WSDL的摘要。

      <s:element name="GetCustomers2Response">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCustomers2Result"
     type="tns:ArrayOfCustomer" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfCustomer">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Customer"
      type="tns:Customer" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Customer">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="FirstName"
      type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LastName"
      type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Age"
      type="s:int" />
        </s:sequence>
      </s:complexType>

  注意到它把GetCustomers2Result定义为一列复杂类型,该复杂类型具有每个领域的明确定义。现在,即使一个基于java的工具都可以产生一个有用的端口,从而可以允许客户开发者能够更加方便的使用我们的服务。

2页,当前在第2页  1  2  

上一篇:J2EE中的异常管理及错误跟踪
下一篇:Weblogic中使用Servlet
作者:Paul Ballard  来源:TechTarget ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐