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

发布于 2024-10-07 10:33:57 字数 892 浏览 8 评论 0原文

我们有一个要求,即在 IBM Websphere Integration Developer 6.1 中创建具有用户名令牌安全性的 Web 服务。现在,为了测试这一点,我们必须用 Java 开发一个 Web 服务客户端。要求是使用 Apache Axis2 来完成此任务。在阅读了大量相关内容之后,我能够使用 Axis2 为不需要身份验证的简单 Web 服务生成客户端,并且能够正确测试它。但我开始知道,为了将用户名令牌安全性与 axis2 一起使用,需要 Rampart。

现在我需要知道如何在 eclipse 中将 Rampart 与 Axis2 一起使用。我们的系统中没有安装 apache 服务器,但我们将其部署在 eclipse 中。 即使在阅读了很多相关文章之后,我仍然无法让 Rampart 工作。

有人可以指导我完成在 eclipse 中配置 Rampart 的步骤以及如何使用用户名令牌将其用于 WebService 客户端生成吗?

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

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

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

谢谢。

We have a requirement where a webservice with username token security has been created in IBM Websphere Integration Developer 6.1. Now, in order to test this, we have to develop a Web Service Client in Java. The requirement is to get this done using Apache Axis2. After doing a lot of reading on this, I was able to use Axis2 to generate a client for a simple Web Service which does not require authentication and I was able to test it correctly. But I came to know that in order to use UserName token Security with axis2, rampart is needed.

Now I need to know how to use Rampart with Axis2 in eclipse. We dont have apache server installed in our systems, but we deploy it in eclipse.
Even after reading a lot of articles on the same, I havent been able to get Rampart to work.

Can someone please guide me through the steps of configuring Rampart in eclipse and also how to use it for WebService Client Generation using UserName token?

So far, using Axis2 I used to do the following Steps.
1. Create a Java Project and import the required WSDLs into it.
2. Using the WSDLs, I create the WebServiceClient and the following types of files get generated
a. A java Interface file
b. A Java Proxy file which implements the interface mentioned in a.
c. A java stub file which extends org.apache.axis.client.Stub and implements the interface mentioned in a.
d. A java Service file which is again an interface
e. A java ServiceLocator file which implements the above interface.

So, I also need to know how I can use these files for testing the Username Token Web Service.

When I do the above using a Dynamic Web project and right click on the WSDLs and click on generate client, a ServiceCallBackHandler.java and HttpSrviceStub files are created. How do i use these to achieve the testing?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

脸赞 2024-10-14 10:33:57

我还没有使用 Rampart 作为用户名令牌,但对于我的服务(签名和加密),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 启用/禁用 Rampart 配置。看一下: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>

I haven't used rampart for Username Tokens, but for my services (signing and encrypting) IBM documentation was really helpful. Have a look at: http://www.ibm.com/developerworks/java/library/j-jws4/ Java Web services: Axis2 WS-Security basics; See how to install Rampart into Axis2 and implement UsernameToken handling

For my project Java source is the same when I use WS-Security (working environment) and without WS-Security (test environment). All I have to do on client side it to enable/disable rampart configuration from my_client/axis-repo/conf/axis2.xml. Have a look at: http://wso2.org/library/240 where you will find example configuration that may be useful to you:

<parameter name="OutflowSecurity">
        <action>
                <items>UsernameToken</items>
                <user>bob</user>
                <passwordCallbackClass>org.apache.rampart.
                samples.sample02.PWCBHandler</passwordCallbackClass>
        </action>
</parameter>
洋洋洒洒 2024-10-14 10:33:57

首先,您必须在 axis2 模块文件中加载 Rampart 模块文件。
然后在lib文件夹中加载rampart所需的库。然后使用回调处理程序类,在其中定义用户名和密码的逻辑。
以上所有内容都可以在 ramart 源代码和 Ramart 文件夹中找到。您必须从 Ramart 网站下载它
然后在 axis2.xml 中你必须定义标签

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


  </action>
</parameter> 

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

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

first of all u have to load rampart modules files in axis2 modules files.
Then load the library required for rampart in lib folder. and then use a callback handler class in which u have define the logic for user name and password.
All the above things in vailable in ramart source code and rampart folder.u have to download it from rampart web site
After then in axis2.xml u have to define tag

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


  </action>
</parameter> 

with in tag. then run the web service and copy the address of wsdl and put into soapUi and then add the authentication header. and check it.

If any problem then tell me.I will give u satisfactory answer beacuse i have used the rampart security.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文