使用Apache Axis2和Rampart创建WebService客户端

问题描述:

我们需要在IBM Websphere Integration Developer 6.1中创建具有用户名令牌安全性的Web服务。现在,为了测试这个,我们必须用Java开发一个Web服务客户端。要求是使用Apache Axis2完成这项工作。在对此进行了大量的阅读之后,我能够使用Axis2为简单的Web服务生成一个客户端,该服务不需要身份验证,并且我能够正确地进行测试。但是我知道为了使用axis2使用UserName令牌安全性,需要使用rampart。使用Apache Axis2和Rampart创建WebService客户端

现在我需要知道如何在eclipse中使用Rampart和Axis2。我们没有在我们的系统中安装apache服务器,但是我们在eclipse中部署它。 即使阅读了很多关于同样的文章,我还没有能够得到Rampart工作。

有人可以请指导我完成在Eclipse中配置Rampart的步骤,以及如何使用它来使用UserName令牌来生成WebService客户端?

到目前为止,使用Axis2我用于执行以下步骤。 1.创建一个Java项目并将所需的WSDL导入其中。 2.使用WSDL创建WebServiceClient,并生成以下类型的文件 a。一个java接口文件 b。实现a中提到的接口的Java代理文件。 c。一个java存根文件,它扩展了org.apache.axis.client.Stub并实现了a中提到的接口。 d。一个java服务文件,它又是一个接口 e。一个实现上述接口的java ServiceLocator文件。

因此,我还需要知道如何使用这些文件来测试用户名令牌Web服务。

当我使用动态Web项目完成上述操作并右键单击WSDL并单击生成客户端时,将创建ServiceCallBackHandler.java和HttpSrviceStub文件。我如何使用这些来实现测试?

谢谢。

我还没有使用用于用户名令牌的垒,但对于我的服务(签名和加密),IBM文档非常有帮助。看看:http://www.ibm.com/developerworks/java/library/j-jws4/Java Web服务:Axis2 WS-Security基础知识;了解如何壁垒安装到Axis2和实施的UsernameToken处理

我的项目Java源代码是一样的,当我使用的WS-Security(工作环境),并没有WS-Security的(测试环境下)。我必须在客户端执行它以启用/禁用my_client/axis-repo/conf/axis2.xml中的壁垒配置。看一看: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> 
+0

嗨,感谢您的信息。将通过链接并返回给您。 – Aditya 2010-12-10 11:48:28

+0

嗨迈克尔,你的建议是我在axis2.xml中使用的,它的工作原理!我所做的唯一改变是因为我没有使用密码处理程序类,所以我用标记替换了该标记并直接输入密码。为我工作。非常感谢你的建议。 :) – Aditya 2010-12-14 06:32:18

+0

没问题!你可以接受我的答案,因此它不会被列为未答复,我们得分更多的“积分”。 – 2010-12-14 06:39:03

首先u必须加载Axis2中的模块文件垒模块文件。 然后在lib文件夹中加载ramp所需的库。然后使用一个回调处理程序类来定义用户名和密码的逻辑。 所有在ramart源代码和壁垒folder.u vailable上面的东西必须从城墙网站 下载它,然后经过axis2.xml u必须定义标签

<parameter name="InflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <user>jaideep</user> 
    <passwordCallbackClass>com.mltvacations.externalapi.callbackhandler.PasswordCallbackHandler</passwordCallbackClass> 
    <passwordType>PasswordText</passwordType> 


    </action> 
</parameter> 

与标签。然后运行Web服务并复制wsdl的地址并将其放入soapUi,然后添加身份验证标头。并检查它。

如果有任何问题,那么告诉我。我会给你满意的答案,因为我已经使用了垒安全。