获取异常java.lang.NoSuchMethodError:org.apache.neethi.Constants.isPolicyElement

Cha*_*ake 1 java web-services wsdl2java ssl-certificate

我正在通过SSL连接到Web服务.我导入了证书并将其添加到java密钥库中.然后我使用wsdl2java为Web服务创建了客户端存根.

当我在程序中使用它并尝试调用服务时,它会抛出follownig(异常的一部分)

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.neethi.Constants.isPolicyElement(Ljavax/xml/namespace/QName;)Z
    at org.apache.axis2.util.PolicyUtil.getPolicyChildren(PolicyUtil.java:287)
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:157)
    at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:857)
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

我的代码有点像这样

public static void main(String[] args) {
    //generated by wsdl2java
    Clientstub stub = new ClientStub(endpoint); 
    .
    .

    //req is the passed parameter
    stub.requestServic(req);        
Run Code Online (Sandbox Code Playgroud)

}

我想我必须导入一些安全策略.如果有的话可以帮助我(任何教程或指示).

提前致谢

Sat*_*eri 5

看起来您使用的是neethi.jar的旧版本,可以将最新版本的neethi添加到classpath中.您可以org.apache.neethi.Constants.isPolicyElement()从neethi-3.0.1.jar开始找到该方法.

您可以从中下载此版本

http://www.java2s.com/Code/JarDownload/neethi/neethi-3.0.1.jar.zip