Axis2客户端的最小类路径是什么?

Aar*_*lla 31 java axis2 maven-2 classpath

我想用Maven2 构建一个Axis2客户端(我只访问一个远程Web服务,我没有实现一个!),我不想在我的项目中添加21MB的JAR.当我用ADB转换WSDL时,我需要在我的pom.xml中编译代码?

小智 29

客户的最小罐子是:

  • 激活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


Ale*_*lex 14

(注意:此回复是由Aaron Digulla本人提供的.以下是他自己答案的确切文字.)

在maven2中,使ADB客户端工作的最小依赖关系(与从WSDL创建Java类的方式中的"ADB")是:

    <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-kernel</artifactId>
            <version>1.4.1</version>
    </dependency>
    <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>1.4.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

嗯...似乎我不能把它标记为正确的答案.有人可以复制这个,以便我可以标记他的帖子吗?

  • 在较新的Axis2版本中,提到的依赖关系还不够,请参阅下面的Renaud's Answer (2认同)

Ren*_*aud 13

不得不添加运输工具

<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-adb</artifactId>
    <version>1.5.4</version>
</dependency>
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-transport-local</artifactId>
    <version>1.5.4</version>
</dependency>
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-transport-http</artifactId>
    <version>1.5.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

  • +1,是的,在较新的Axis2版本中,某些类不再位于axis2内核中,例如LocalTransportSender,CommonsHTTPTransportSender (2认同)

she*_*shi 10

摘要中对工作客户端的最小依赖性


  • 公理-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可以轻松实现)

客户端存根在COMPILE时需要的类


  • 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


chr*_*leu 5

没有axis2-xmlbeans, Axis2版本1.6.2对我来说不起作用(尽管这可能与我使用axis2-wsdl2code-maven-plugin插件和xmlbeans作为我的数据绑定框架这一事实有关).我有以下POM:

    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-kernel</artifactId>
        <version>1.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-adb</artifactId>
        <version>1.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-transport-http</artifactId>
        <version>1.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-transport-local</artifactId>
        <version>1.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-xmlbeans</artifactId>
        <version>1.6.2</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)