`
lydawen
  • 浏览: 471798 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Couldn't find a matching Java operation for WSDD operation "methodName"

    博客分类:
  • java
阅读更多

  原有webservice因需求变更,需要屏蔽其中一个接口。webservice使用axis1来发布管理,将wsdd中的allowMethods设置为只允许指定的方法,但访问时一直报错:Couldn't find a matching Java operation for WSDD operation "methodName"。网上没能找到有用的资料,网上说的都是方法名不能首字母大写,有点常识的人也不会这么做。自己也没细究axis,在项目的(这里粗斜体根据实际情况不同)WsInterfaceSoapBindingSkeleton.java 中找到了如下类似代码:

 

_params = new org.apache.axis.description.ParameterDesc [] {
            new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "in0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(http://beans.xxx.xxxx.com, "xxxxRequest"), com.xxx.xxxx.XxxxRequest.class, false, false), 
        };
        _oper = new org.apache.axis.description.OperationDesc("methodName", _params, new javax.xml.namespace.QName("", "methodNameReturn"));
        _oper.setReturnType(new javax.xml.namespace.QName(http://beans.xxx.xxxx.com, "XXXResponse"));
        _oper.setElementQName(new javax.xml.namespace.QName(http://xxx.xxx.xxx, "methodName"));
        _oper.setSoapAction("");
        _myOperationsList.add(_oper);
        
        if (_myOperations.get("methodName") == null) {
            _myOperations.put("methodName", new java.util.ArrayList());
        }
        ((java.util.List)_myOperations.get("methodName")).add(_oper);

 

 

 

而这个methodName就是将屏蔽的方法,但在wsdd中找不到,将这部分代码注释后一切正常。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics