我们要求在IBM Websphere Integration Developer 6.1中创建具有用户名令牌安全性的Web服务.现在,为了测试这一点,我们必须用Java开发Web服务客户端.要求是使用Apache Axis2完成此任务.经过大量阅读之后,我能够使用Axis2为不需要身份验证的简单Web Service生成客户端,并且能够正确地对其进行测试.但是我知道,为了在axis2中使用UserName令牌安全性,需要使用ramart.
现在我需要知道如何在eclipse中将Rampart与Axis2一起使用.我们的系统中未安装apache服务器,但我们将其部署在eclipse中.
即使在阅读了许多相同的文章之后,我仍然无法让Rampart上班.
有人可以指导我完成在Eclipse中配置Rampart的步骤,以及如何使用UserName令牌将其用于WebService客户端生成吗?
到目前为止,我使用Axis2进行以下步骤.
1.创建一个Java项目并将所需的WSDL导入其中.
2.使用WSDL创建WebServiceClient,并生成以下类型的文件
一种.一个Java接口文件
b.一个Java代理文件,该文件实现a中提到的接口.
C.一个Java存根文件,用于扩展org.apache.axis.client.Stub并实现a中提到的接口.
d.一个Java服务文件,它又是一个接口
e.一个实现以上接口的java ServiceLocator文件.
因此,我还需要知道如何使用这些文件来测试用户名令牌Web服务.
当我使用动态Web项目执行上述操作时,右键单击WSDL,然后单击生成客户端,将创建ServiceCallBackHandler.java和HttpSrviceStub文件.我如何使用这些来完成测试?
谢谢.
解决方法:
我没有使用ramart作为用户名令牌,但是对于我的服务(签名和加密),IBM文档确实很有帮助.看看:http://www.ibm.com/developerworks/java/library/j-jws4/ Java Web服务:Axis2 WS-Security基础知识;了解如何将Rampart安装到Axis2中并实现UsernameToken处理
对于我的项目,当我使用WS-Security(工作环境)而没有WS-Security(测试环境)时,Java源代码是相同的.我要在客户端执行的所有操作,才能从my_client / axis-repo / conf / axis2.xml启用/禁用Ramart配置.看一下:http://wso2.org/library/240,您将在其中找到可能对您有用的示例配置:
<parameter name="OutflowSecurity">
<action>
<items>UsernameToken</items>
<user>bob</user>
<passwordCallbackClass>org.apache.rampart.
samples.sample02.PWCBHandler</passwordCallbackClass>
</action>
</parameter>