我想用Maven2 构建一个Axis2客户端(我只访问一个远程Web服务,我没有实现一个!),我不想在我的项目中添加21MB的JAR.当我用ADB转换WSDL时,我需要在我的pom.xml中编译代码?
客户的最小罐子是:
激活1.1.jar
公理-API-1.2.8.jar
公理IMPL-1.2.8.jar
Axis2的-ADB-1.5.1.jar
Axis2的内核 - 1.5.1.jar
Axis2的运输-HTTP-1.5.1.jar
Axis2的运输和本地1.5.1.jar
公地编解码器1.3.jar
公地httpclient的-3.1.jar
共享记录-1.1.1.jar
的HttpCore-4.0.jar
邮件1.4.jar
neethi-2.0.4.jar
WSDL4J-1.6.2.jar
XMLSchema的1.4.3.jar
下面的STAX jar不是Axis2 1.5.1版本的一部分,如果您的JDK版本低于6,则需要它:
STAX-1.2.0.jar
STAX的API-1.0.1.jar
(注意:此回复是由Aaron Digulla本人提供的.以下是他自己答案的确切文字.)
在maven2中,使ADB客户端工作的最小依赖关系(与从WSDL创建Java类的方式中的"ADB")是:
org.apache.axis2 axis2-kernel 1.4.1 org.apache.axis2 axis2-adb 1.4.1
嗯...似乎我不能把它标记为正确的答案.有人可以复制这个,以便我可以标记他的帖子吗?
不得不添加运输工具
org.apache.axis2 axis2-adb 1.5.4 org.apache.axis2 axis2-transport-local 1.5.4 org.apache.axis2 axis2-transport-http 1.5.4
摘要中对工作客户端的最小依赖性
公理-API 1.2.14.jar
公理IMPL-1.2.14.jar
Axis2的-ADB-1.6.3.jar
Axis2的内核 - 1.6.3.jar
Axis2的运输-HTTP-1.6.3.jar
Axis2的运输和本地1.6.3.jar
公地编解码器1.3.jar
公地httpclient的-3.1.jar
共享记录-1.1.1.jar
的HttpCore-4.0.jar
邮件1.4.jar
neethi-3.0.2.jar
WSDL4J-1.6.2.jar
XMLSchema的1.4.7.jar
下面列出了具有详细信息的最小依赖项
客户端存根使用针对给定WSDL的%AXIS2_HOME%\ bin\WSDL2Java工具生成的ServiceClient类(为了生成,您需要类路径上的所有轴jar,通过设置AXIS_HOME可以轻松实现)
axiom-api-1.2.14.jar - 编译时需要org.apache.axiom.om.OMElement的客户端存根,org.apache.axiom.soap.SOAPEnvelope,org.apache.axiom.soap.SOAPFactory,org .apache.axiom.om.OMNamespace
axis2-adb-1.6.3.jar - 编译时由org.apache.axis2.databinding.ADBException的客户端存根所需
axis2-kernel-1.6.3.jar - 编译时由org.apache.axis2.AxisFault类的客户端存根所需
axiom-impl-1.2.14.jar(没有这个org.apache.axiom.om.OMException:找不到特征'default'的元工厂;这通常意味着axiom-impl.jar不在类路径中)
axis2-transport-http-1.6.3.jar(没有这个org.apache.axis2.deployment.DeploymentException:org.apache.axis2.transport.http.CommonsHTTPTransportSender)
axis2-transport-local-1.6.3.jar(没有这个org.apache.axis2.deployment.DeploymentException:org.apache.axis2.transport.local.LocalTransportSender)
commons-codec-1.3.jar(没有这个java.lang.NoClassDefFoundError:org/apache/commons/codec/DecoderException)
commons-httpclient-3.1.jar(没有这个org.apache.axis2.deployment.DeploymentException:org/apache/commons/httpclient/HttpException)
commons-logging-1.1.1.jar(没有这个java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory)
httpcore-4.0.jar(没有这个java.lang.NoClassDefFoundError:org/apache/http/HttpResponseFactory)
mail-1.4.jar(没有这个java.lang.NoClassDefFoundError:javax/mail/internet/ParseException)
neethi-3.0.2.jar(没有这个java.lang.NoClassDefFoundError:org/apache/neethi/PolicyComponent)
wsdl4j-1.6.2.jar(没有这个java.lang.NoClassDefFoundError:javax/wsdl/WSDLException)
XmlSchema-1.4.7.jar(没有此java.lang.ClassNotFoundException:org/apache/ws/commons/schema/XmlSchema)
org.apache.axis2.AxisFault:连接被拒绝:连接 - >错误仅在Web服务未启动或由于某些其他原因而可访问时
请注意确切的版本,但是行为是通用的,因为版本之间的包装更改,因此,提到上面的FQCN-
轴版本 - 1.6.3
Tomcat版本 - Apache Tomcat/7.0.64
Servlet版本 - 3.0
java.runtime.version - 1.7.0_79-b15
没有axis2-xmlbeans, Axis2版本1.6.2对我来说不起作用(尽管这可能与我使用axis2-wsdl2code-maven-plugin插件和xmlbeans作为我的数据绑定框架这一事实有关).我有以下POM:
org.apache.axis2 axis2-kernel 1.6.2 org.apache.axis2 axis2-adb 1.6.2 org.apache.axis2 axis2-transport-http 1.6.2 org.apache.axis2 axis2-transport-local 1.6.2 org.apache.axis2 axis2-xmlbeans 1.6.2