AXIS2最简单客户端jar包说明及错误对照

 参照网上的例子写了一个AXIS2的客户端例子,在此感谢各位前辈的无私奉献!同时也分享一下,供各位朋友指导!



服务端代码:


import java.util.Random;

public class HelloWorldService {

    public String sayHello(String name) {
        return name + "! say:hello [axis2 ]";
    }

    public int getAge(int i) {
        return i + new Random().nextInt(100);
    }
}


客户端代码:


package client;

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;

public class HelloWordClient {
	public static void main(String[] args) throws AxisFault {
		
		RPCServiceClient client = new RPCServiceClient();
		Options options = client.getOptions();
		String address = "http://localhost:8080/axis2/services/HelloWorldService";
		EndpointReference epf = new EndpointReference(address);
		options.setTo(epf);
		
		QName qName = new QName("http://ws.apache.org/axis2","sayHello");
		Object[] result = client.invokeBlocking(qName, new Object[]{"winter"}, new Class[]{String.class});
		System.out.println(result[0]);
		
		qName=new QName("http://ws.apache.org/axis2","getAge");
		result = client.invokeBlocking(qName, new Object[]{ new Integer(22) } , new Class[] {int.class});
		System.out.println(result[0]);
	}
}

以上代码接来源于网络!



下面才是我重点想说的内容,也是我一样的初学者比较困惑的jar包问题,经我实际测试所需的最少jar包为


axiom-api-1.2.13.jar
axiom-impl-1.2.13.jar
axis2-adb-1.6.2.jar
axis2-kernel-1.6.2.jar
axis2-transport-http-1.6.2.jar
axis2-transport-local-1.6.2.jar
commons-codec-1.3.jar
commons-httpclient-3.1.jar
commons-logging-1.1.1.jar
httpcore-4.0.jar
neethi-3.0.2.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.7.jar




下面是缺少jar包和相关的错误说明:

XmlSchema-1.4.7.jar			
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ws/commons/schema/resolver/URIResolver

axiom-impl-1.2.13.jar			
Exception in thread "main" org.apache.axiom.om.OMException: No meta factory found for feature 'default'; this usually means that axiom-impl.jar is not in the classpath 

neethi-3.0.2.jar			
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/neethi/PolicyComponent

axis2-transport-http-1.6.2.jar		
Exception in thread "main" org.apache.axis2.deployment.DeploymentException: org.apache.axis2.transport.http.CommonsHTTPTransportSender

axis2-transport-local-1.6.2.jar		
Exception in thread "main" org.apache.axis2.deployment.DeploymentException: org.apache.axis2.transport.local.LocalTransportSender	

commons-codec-1.3.jar			
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException

commons-httpclient-3.1.jar		
Exception in thread "main" org.apache.axis2.deployment.DeploymentException: org/apache/commons/httpclient/HttpException

httpcore-4.0.jar			
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpResponseFactory

wsdl4j-1.6.2.jar			
Exception in thread "main" java.lang.NoClassDefFoundError: javax/wsdl/xml/WSDLLocator





  • 32
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: Axis2是一个基于Java的Web服务框架,它提供了一种构建和部署Web服务的方法。要使用Axis2,需要用到一些jar包。其中包括axis2-kernel.jar、axis2-adb.jar、axis2-transport-http.jar等等。axis2-kernel.jar是Axis2的核心jar包,包含了所有必要的类和资源,如服务引擎和消息处理程序等。axis2-adb.jar是Axis2的异步消息处理框架,它能够在处理大量消息时保证系统的高效性。axis2-transport-http.jar是用于处理HTTP传输的jar包,它包含了HTTP传输所必须的类和资源。axis2还有许多其他的jar包,如axis2-saaj.jar、axis2-xmlbeans.jar等等,它们都提供了特定的功能和基础库支持。总之,在使用Axis2构建和部署Web服务时,需要根据具体的需求选择相应的jar包,并正确配置系统环境,确保系统能够正常运行。 ### 回答2: axis2是一个Apache Software Foundation开发的Web服务框架。为使用axis2,需要引入相应的jar包。具体如下: 1. axis2-kernel.jar 包含axis2框架基本的核心API和服务引擎。需要使用它来构建你的axis2服务。 2. axis2-adb.jar 提供对数据绑定框架的支持。这个模块为WSO2 Data Services和二进制传输提供了主要的支持。 3. axis2-transport-http.jar 提供对HTTP传输协议的支持。如果你需要使用HTTP协议向axis2服务发送请求或响应,你需要使用它。 4. axis2-codegen.jar 提供轻松快捷的机制为WSDL文档生成代码。它支持多种代码生成技术。 5. axis2-xmlbeans.jar 在使用XMLBeans技术进行数据绑定时提供支持。 6. axis2-jaxws.jar 提供支持JAX-WS协议的机制。 7. axis2-jaxrs.jar 提供支持RESTful风格的WEB服务协议的机制。 简而言之,axis2是一个强大的Web服务框架,其jar包提供了一系列的依赖库,使得开发者具有更多的控制力和灵活性。 ### 回答3: Axis2是一个基于Java的Web服务框架,可以用于构建和部署Web服务。它主要有三个核心组件:Axis2内核、Axis2客户端Axis2工具包。Axis2内核是Axis2的核心组件,提供了处理Web服务请求和响应的API。Axis2客户端是提供给客户端使用的工具,用于构造和发送Web服务请求。Axis2工具包是提供给开发者使用的一组辅助工具,包括生成代码、管理模块和配置Web服务等。 在使用Axis2时需要引入一些关键的Jar包,如axis2-kernel、axis2-transport-http、axis2-transport-local、axis2-xmlbeans等。其中,axis2-kernel包含了Axis2的核心代码,是使用Axis2框架必不可少的jar包axis2-transport-http是用于通过HTTP协议进行Web服务通信的jar包axis2-transport-local用于在同一JVM进程中的不同组件之间实现Web服务通信。axis2-xmlbeans则是处理XML消息的jar包,如果要使用XML格式的消息进行通信,则需要引入该jar包。 除了以上的核心jar包外,还有一些其他的jar包可以用于扩展Axis2的功能,如axis2-jaaxws、axis2-mtompolicy等。axis2-jaaxws提供了Java API for XML Web Services (JAX-WS)的支持,可以用于构建基于JAX-WS的Web服务。axis2-mtompolicy提供了对Message Transmission Optimization Mechanism (MTOM)的支持,可以用于在Web服务中传输二进制数据。 总之,Axis2是一个非常强大的Web服务框架,有很多依赖的jar包,使用时需要根据具体需求选择引入相关的jar包,以支持所需功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值