WSS4J和Apache Axis不起作用

时间:2013-02-26 13:56:16

标签: java web-services tomcat axis wss4j

我尝试将WSS4J与Axis Web服务一起使用,但没有任何反应。似乎WSS4J根本没有被使用。所有必需的库都在WEB-INF / lib目录中。该服务正在使用org.apache.axis.client.AdminClient实用程序进行部署。

这是我的deploy.wsdd:

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<!-- Services from AccountsServiceImplService WSDL service -->
<service name="AccountsServiceImpl" provider="java:RPC" style="wrapped"
    use="literal">
    <requestFlow>
        <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
            <parameter name="passwordCallbackClass" value="haha" />
            <parameter name="action" value="UsernameToken" />
        </handler>
    </requestFlow>
    <parameter name="wsdlTargetNamespace" value="http://accoutsservice.abc.ru" />
    <parameter name="wsdlServiceElement" value="AccountsServiceImplService" />
    <parameter name="schemaQualified" value="http://accoutsservice.abc.ru" />
    <parameter name="wsdlServicePort" value="AccountsServiceImpl" />
    <parameter name="className"
        value="ru.abc.accoutsservice.AccountsServiceImpl" />
    <parameter name="wsdlPortType" value="AccountsServiceImpl" />
    <parameter name="typeMappingVersion" value="1.2" />
    <operation xmlns:operNS="http://accoutsservice.abc.ru"
        xmlns:retNS="http://accoutsservice.abc.ru" xmlns:rtns="http://www.w3.org/2001/XMLSchema"
        name="sendAccountNumber" qname="operNS:sendAccountNumber"
        returnQName="retNS:sendAccountNumberReturn" returnType="rtns:string"
        soapAction="">
    </operation>
    <parameter name="allowedMethods" value="sendAccountNumber" />

</service>

尽管我甚至没有haha类(请参阅deploy.wsdd中的passwordCallbackClass参数),但没有错误发生。我可以自由地将没有WSS头的SOAP请求发送到我的服务。

更新

我已经解决了一些类路径问题。当我尝试打开http://localhost:8080/axis/servlet/AxisServlet页面时,我发现错误:org.apache.axis.ConfigurationException: java.lang.ClassNotFoundException: org.apache.ws.axis.security.WSDoAllSender。 WSS4J jar位于{tomcat} \ webapps \ axis \ WEB-INF \ lib目录中。我做错了什么?

更新#2

似乎wsdl4j jar包含org.apache.ws.axis.security.WSDoAllSender类和wss4j jar。但是,对于版本1.5.x,此类wss4j jar中是。现在它不见了。 WSS4J的文档已过时。

0 个答案:

没有答案