首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java reflect getConstructor NoSuchMethodException错误

Java reflect getConstructor NoSuchMethodException错误
EN

Stack Overflow用户
提问于 2013-01-02 03:31:48
回答 1查看 1.2K关注 0票数 1

我有一个名为ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage的类,定义如下

代码语言:javascript
复制
public class ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage
        extends java.lang.Exception {

    private static final long serialVersionUID = 1354218639401L;

    public ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage() {
        super("ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage");
    }

    public ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage(
            java.lang.String s) {
        super(s);
    }

    public ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage(
            java.lang.String s, java.lang.Throwable ex) {
        super(s, ex);
    }

    public ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage(
            java.lang.Throwable cause) {
        super(cause);
    }
}

我正在试着做

代码语言:javascript
复制
java.lang.String exceptionClassName = (java.lang.String)faultExceptionClassNameMap.get(new org.apache.axis2.client.FaultMapKey(faultElt.getQName(),"Capture"));
                    LOGGER.debug("ExceptionClassName"+exceptionClassName);
                    java.lang.Class exceptionClass = java.lang.Class.forName(exceptionClassName);
                    java.lang.reflect.Constructor constructor = exceptionClass.getConstructor(String.class);

其中exceptionClass是日志中的ICwsTransactionProcessing_Capture_CWSInvalidOperationFaultFault_FaultMessage

我去叫NoSuchMethodException。为什么?

EN

回答 1

Stack Overflow用户

发布于 2013-01-02 23:41:46

这是由wsdl2java生成的客户机存根代码中的Axis2错误。

https://issues.apache.org/jira/browse/AXIS2-5420

生成的代码中使用的字符串类应该是java.lang.String,但是由于WSDL导入使用的是微软的序列化类型,所以Axis2通过名称字符串生成了一个内部类。

正确的代码生成应该为构造函数反射参数使用java.lang.String

这有点难以识别,因为生成的存根有200k+行。

该错误已在未发布的Axis2 1.6.3和1.7分支中修复。

谢谢大家的帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14113523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档