AXIS2最简单客户端jar包说明及错误对照
2016-04-14 15:33
387 查看
http://blog.csdn.net/maotongbin/article/details/10110711
版权声明:本文为博主原创文章,未经博主允许不得转载。
参照网上的例子写了一个AXIS2的客户端例子,在此感谢各位前辈的无私奉献!同时也分享一下,供各位朋友指导!
服务端代码:
[java] view
plain copy
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);
}
}
客户端代码:
[java] view
plain copy
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包为
[plain] view
plain copy
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包和相关的错误说明:
[plain] view
plain copy
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
版权声明:本文为博主原创文章,未经博主允许不得转载。
参照网上的例子写了一个AXIS2的客户端例子,在此感谢各位前辈的无私奉献!同时也分享一下,供各位朋友指导!
服务端代码:
[java] view
plain copy
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);
}
}
客户端代码:
[java] view
plain copy
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包为
[plain] view
plain copy
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包和相关的错误说明:
[plain] view
plain copy
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
相关文章推荐
- C语言中#define的用法(转)
- ASP.NET-JSON.NET技巧
- Android MVP设计模式的最佳实现
- Java设计模式(三) Visitor(访问者)模式及多分派场景应用
- tomcat访问主页报404
- mysql update delete 安全模式
- 了解Android资源(下)
- 机器学习笔记(二)
- 详细讲解transform,一看就懂了!(转)
- 多条件搜索(基础)
- 对象类型的数据域声明调用
- Ansible 快速上手
- Android AudioManager详解
- 【Android】【组件通信】StartActivityForResult
- 了解Android资源(上)
- 正则表达式抽取网页内容
- 在HTML网页上打印需要的内容,JS代码
- postgresql双机热备、高可用方案(采用pacemaker+corosync实现)
- “display:block-inline形式的Span或Div中添加文字后,导致Span或Div排版掉落、错位”的原因及解决方法
- cron表达式详解