通过Axis2(版本1.4.1)与Tomcat(5.5.27)的结合,Axis2在Tomcat的webapps目录下,只要将满足一定目录结构的web服务的相关文件拷贝到axis2\WEB-INF\services目录下,便可以完成该服务的部署。
要部署的服务的目录结构必须满足下面的结构
- MyService
- META-INF
- services.xml
- lib
- log4j.jar
- edu
- nwpu
- service
- test
- AddService.class
其中最重要的是META-INF目录下的services.xml文件,axis2通过该文件来获知该服务的名称、服务类型以及服务类。下面是一个简单的services.xml
<service name="AddService" scope="application">
<description>
Addition POJO Service
</description>
<messageReceivers>
<messageReceiver mep="
http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver mep="
http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">
edu.nwpu.hpc.cssp.wsmaker.service.AddService
</parameter>
</service>
其首先定义了name,该名称就是Axis2唯一标识该服务的名字。还定义了服务接口类型,是in-only还是in-out,不同类型对应了不同的class再就是定义了ServiceClass,也就是具体该服务的提供类,要该类的全路径名称来标识。
通过上面的对于Axis2部署service的方法,可以知道,部署一个服务只需要将该服务的所有相关Java文件,包括class文件、jar文件按照axis2所要求的方式组织,然后再就是修改servicex.xml文件,让其与该服务的实际情况相吻合,然后再将这个文件夹拷贝到tomcat的axis2的相关目录下就可以了。
编写web服务的客户端调用程序
使用RPC的方式来进行客户端程序编写需要导入的包有:
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
主要功能代码如下:
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 添加具体要调用的方法,这个可以从该服务的wsdl文件中得知
// 第一个参数是该服务的targetNamespace,第二个为你所要调用
// 的operation名称
QName opAdd =
new QName("
http://service.wsmaker.cssp.hpc.nwpu.edu", "add");
//设置返回值类型
Class[] returnTypes = new Class[] {Integer.class};
//设置调用的参数
Object[] opAddArgs = new Object[] {2, 3};
//调用服务,获得返回值
Object[] response = serviceClient.invokeBlocking(opAdd, opAddArgs, returnTypes);
Integer res = (Integer)response[0];
if (res == null) {
System.out.println("wrong");
return;
}
System.out.println(res);
注意:应该包含所有axis2_home\lib下的jar文件
分享到:
相关推荐
【标题】基于Axis的Web Service客户端调用 在IT领域,Web Service是一种通过网络进行通信的标准协议,它允许不同系统间的应用程序互相交换数据。而Apache Axis是Java平台上的一个开源工具,专门用于创建和部署Web ...
总的来说,这个压缩包提供了一个完整的基于Axis2的Web服务实现示例,包括服务端创建服务和客户端调用服务的所有必要组件。通过学习和理解这些文件,开发者可以更好地掌握如何在实际项目中利用Apache Axis2构建和使用...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而Axis2是Apache软件基金会开发的一个Web服务框架,专门用于创建和消费Web服务。本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注...
在IT行业中,尤其是在Web服务开发领域,Axis是一个广泛使用的开源工具,它允许开发者创建、部署和使用基于SOAP(简单对象访问协议)的Web服务。本文将深入探讨如何使用Axis客户端进行调用,以及如何利用WSDL2JAVA...
总的来说,实现“axis2客户端调用服务端,带用户身份认证”涉及理解Web服务安全概念,配置服务和客户端,以及编写适当的安全上下文代码。这不仅增加了服务的安全性,也为客户端和服务端之间的通信提供了可靠的信任...
**Axis**,全称Apache Axis,是一个用于创建Web服务的工具集,它基于SOAP协议,允许开发者创建、部署和使用Web服务。Axis1.x版本是较老的实现,而Axis2是其后续版本,提供了更好的性能和模块化设计。 ### 二、CXF...
本文将深入探讨基于Axis开发Web服务的过程,包括Axis的工作原理、关键技术WSDL以及如何在实际环境中配置、开发与部署Web服务。 #### Axis的工作原理 Axis是一个开源项目,由Apache软件基金会维护,用于支持基于...
- **WSDL生成**: Axis2会自动生成WSDL(Web服务描述语言),这是服务的接口规范,用于客户端调用。 3. **客户端开发** - **WSDL第一**: 客户端通常基于服务的WSDL来生成客户端代码,轴心提供wsdl2java工具,可以...
在IT行业中,Axis2是Apache软件基金会开发的一个用于构建Web服务和Web服务客户端的框架,主要基于Java语言。本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解...
AXIS2是一个开源的Web服务框架,用于构建和部署SOAP(简单对象访问协议)和RESTful服务。在本文中,我们将深入探讨如何使用AXIS2客户端进行服务调用,包括AXIS2的基本概念、配置、服务引用以及调用流程。 **AXIS2...
标题中的“在自己的项目中利用axis2+spring发布webservice与客户端调用包括session”指出的是一个关于在实际项目开发中如何使用Axis2和Spring框架来发布Web服务,并且涉及了Web服务客户端调用以及会话(session)...
这篇博客"axis2学习——客户端的开发"主要探讨了如何使用Axis2来创建和操作Web服务的客户端。 首先,让我们了解什么是Apache Axis2。Axis2是Axis1的下一代版本,它提供了更高效、更灵活的服务框架。它是基于模块化...
总的来说,这篇博客应该深入浅出地介绍了Axis2服务发布和客户端调用的整个过程,对于学习和理解Web服务的开发和交互非常有帮助。如果你是初学者,跟随这个示例可以快速上手;如果你是开发者,它可能为你提供了解决...
AXIS1.4客户端调用是关于Web服务客户端开发的一个主题,主要涉及到使用Apache Axis1.4库来创建和调用SOAP(Simple Object Access Protocol)服务。Apache Axis1.4是一个开源工具,它允许开发者在Java环境中轻松地...
描述中的“Axis2教程”暗示了会详细讲解Axis2,这是一个流行的开放源代码SOAP Web服务引擎,它为开发人员提供了创建和部署Web服务的平台。而“java调用webservice的各种方法总结”则意味着文档将深入探讨Java如何与...
Apache Axis是Apache软件基金会开发的一个开源工具,专门用于构建和部署Web服务。这篇博客文章将引导我们如何利用Apache Axis来生成Web服务客户端,从而实现天气预报功能的开发。下面,我们将深入探讨这个过程中的...
Axis2是一个流行的Java Web服务框架,它允许开发人员创建、部署和消费Web服务。本篇将详细介绍如何在Axis2客户端中调用需要NTLM认证的Web服务,并提供相关代码示例和所需库。 首先,NTLM是一种由Microsoft开发的...
Axis2是Apache软件基金会开发的一个Web服务框架,用于在Java环境中创建和部署Web服务。它基于SOAP,提供了高效的处理和强大的功能,包括WS-ReliableMessaging、WS-Security等高级Web服务标准支持。 3. **C#开发的...