用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一) - 编程入门网
inOccurs="0"
name="item" type="xsd:anyType"/>
</sequence>
</complexType>
</schema>
<schema targetNamespace="http://localhost:8080/axis/BookSearcher.jws"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://xml.apache.org/xml-soap"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_xsd_anyType">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)(17)时间:2011-08-02 IBM Brett McLaughlinWSDL 和 Web 服务了解一些基本类型,比如 string、int 和 float,但是不了解比 Java 基本数据类 型更复杂的类型。但是,BookSearcher 类的一些方法能够接受或返回列表和映射。为了处理这些基于对 象的复杂类型,WSDL 必须通过 XML Schema 类型定义它们。文档的这个部分定义所有这些类型。例如, 清单 13 给出一个映射的定义,使 RPC 客户机和服务可以理解这个映射: 清单 13. 定义 RPC 客户机和服务可以理解的一个映射
Vector 类型以同样的方式代表列表,提供了列表的上限和下限。这对使用 WSDL 造成了一定的困难, 因为只有在编写了一些服务和客户机之后,才会逐渐熟悉 Java 对象和定制 WSDL 类型之间的基本映射。 尽管如此,如果看到一个方法以 Vector 作为参数,那么只需在 <wsdl:types> 元素中寻找关于这 个类型的信息,包括对其中的值的约束。 每次发送和返回的都是消息 下一个元素由 <wsdl:message> 表示。这里有一些源自 Java 的概念,它们主要关注与网络和 SOAP 相关的问题。在向服务中的方法发送请求时,实际上是发送一个消息。如果请求的方法没有参数, 消息就不包含方法所操作的任何数据。如果方法需要参数数据,就必须在消息中发送数据。 服务从方法返回时也是如此:返回的消息可以包含来自方法的数据,也可以没有数据。但是,关键在 于发送和接收的是单独的 消息。一个消息从客户机发送到服务,另一个消息从服务返回到客户机。这两 个消息在逻辑上相关,但是在编程或技术范畴上没有联系。 因此,必须声明和定义这些消息。以 BookSearcher 的 getKeywords() 方法为例。它接收一个字符串 标题参数,返回一个列表。必须在 WSDL 中声明这两个消息: 清单 14. WSDL 中的消息声明
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |