【问题标题】:Unable to Access Amazon Web Service using Axis2 client无法使用 Axis2 客户端访问 Amazon Web Service
【发布时间】:2011-08-02 11:43:32
【问题描述】:

我在尝试使用 Axis2 版本 1.6.0

访问 Amazon Web Service (http://soap.amazon.com/schemas2/AmazonWebServices.wsdl) 时遇到问题

在 Eclipse Galileo 中,我使用 Axis2 为 Amazon Web 服务生成 client stub,我收到以下错误:

Exception occurred during code generation for WSDL  : 
org.apache.axis2.wsdl.codegen.CodeGenerationException: 
java.lang.RuntimeException: 
java.lang.reflect.InvocationTargetException

在此之前,我已经使用 Axis2 创建了一个 Soap Web 服务并为其生成了存根。它工作正常。

但是,当我尝试为使用 PHP 生成的 Soap Web 服务生成客户端存根时,我遇到了与访问 Amazon Web Service 时相同的错误。 当从 Axis2 客户端访问 PHP Soap 服务以在 java 中生成客户端存根时,是否会产生任何问题?

提前致谢。

【问题讨论】:

    标签: java web-services soap amazon-web-services axis2


    【解决方案1】:

    上面的 WSDL 文件包含一些 SOAP 编码元素,如下所示。

                  <xsd:restriction base="soapenc:Array">
                        <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ProductLine[]"/>
                    </xsd:restriction>
    

    Axis2 不支持 SOAP 编码,这是导致上述异常的原因。

    【讨论】:

      【解决方案2】:

      我不确定为什么会导致错误。如果没有任何效果,请尝试更改您的 Eclipse IDE。 当我尝试使用 WSDL2JAVA Codegen 插件从 wsdl 生成客户端存根时,“TargetInvocationException”遇到了很多麻烦。 wsdl2java codegen eclipse plugin- java.lang.reflect.invocationtargetexception

      【讨论】: