Java Webservice调用详解:Axis与Soap方法对比

需积分: 10 1 下载量 19 浏览量 更新于2024-10-14 收藏 49KB DOC 举报
本文档详细探讨了Java与Web服务(Webservice)的交互调用方法,特别是关注直接通过URL地址调用的方式,包括Axis和Soap两种技术。Axis通常在IBM Websphere等环境中使用,而Soap则是一种标准的Web服务通信协议。 首先,提到的是通过WSDL(Web Services Description Language)文件生成客户端的过程,这是开发时常见的做法,因为它提供了服务接口和操作的详细描述,便于客户端与服务端进行交互。但在这里,主要讲解的是不依赖于WSDL,而是直接调用已知地址的情况。 在Java中,实现这种调用的关键在于`org.apache.axis.client`包下的类,如`Call`和`Service`。例如,创建一个名为`caClient`的示例类,首先定义了服务的URL `endpoint`,该URL指向运行Webservice的服务端地址。然后,通过`Service`对象的`createCall()`方法创建一个`Call`对象,用于执行具体的操作。 在`addUser`这个操作中,客户端设置了一些参数,如用户名(`userName`)作为输入参数,类型为XMLType.XSD_DATE,并设置了参数模式为`javax.xml.rpc.ParameterMode.IN`,表明这是一个输入参数。返回类型设置为`org.apache.axis.encoding.XMLType.XSD_STRING`,并且开启SOAP Action,通过`setSOAPActionURI`指定请求的SOAP操作名称。 调用实际操作时,使用`invoke()`方法传递参数,这里的参数是一个包含两个元素(如用户ID和字符串值)的数组。调用成功后,结果被转换为字符串类型并打印出来。 对于Soap调用,其本质是基于XML的消息格式,客户端需要构造符合SOAP规范的请求,包括SOAP Envelope、SOAP Header和SOAP Body。Axis框架简化了这个过程,使得开发者可以专注于业务逻辑,而不用过多关注底层的XML细节。 总结来说,本文档介绍了Java通过Axis和Soap调用Webservice的基本步骤,包括如何设置URL、参数和调用操作,以及如何处理返回结果。这对于理解和开发基于Web服务的Java应用程序非常有帮助,无论是针对企业级应用中的Websphere环境,还是在通用的SOAP调用场景中。