搜索

7.6. 部署 CXF JAX-WS 快速入门

download PDF

本例演示了在 EAP 上使用带有红帽 Fuse 的 camel-cxf 组件来生成和使用 Elytron 安全域保护的 JAX-WS Web 服务。从 EAP 7.1 开始,Elytron 是一个新的安全框架。在这个快速入门中,Camel 路由从直接端点获取消息有效负载,并将其传递给 CXF producer 端点。生产者使用有效负载将参数传递给通过 BASIC HTTP 身份验证保护的 CXF JAX-WS Web 服务。

先决条件

  • 确保已安装并配置了 Maven。
  • 确保安装和配置有红帽 Fuse 的应用服务器。

流程

  1. JBOSS_HOME 环境变量设置为指向应用服务器安装的根目录。

    • 对于 Linux

      export JBOSS_HOME=...
    • 对于 Windows:

      set JBOSS_HOME=...
  2. 使用 add-user 脚本创建新服务器应用用户和组。

    • 对于 Linux

      ${JBOSS_HOME}/bin/add-user.sh -a -u testUser -p testPassword1+ -g testRole
    • 对于 Windows:

      %JBOSS_HOME%\bin\add-user.bat -a -u testUser -p testPassword1+ -g testRole
  3. 以单机模式启动应用服务器。

    • 对于 Linux

      ${JBOSS_HOME}/bin/standalone.sh -c standalone-full.xml
    • 对于 Windows:

      %JBOSS_HOME%\bin\standalone.bat -c standalone-full.xml

      此项目的 webapp/WEB-INF 目录中的 jboss-web-xmlweb.xml 文件设置应用程序安全域、安全角色和限制。

  4. 构建和部署项目。

    mvn install -Pdeploy

    此命令还会调用 CLI 脚本 configure-basic-security.cli,它将创建安全域和一些其他管理对象。

  5. 浏览到 http://localhost:8080/example-camel-cxf-jaxws-secure/

    此时会显示标题为 Send A Greeting 的页面。此 UI 可让您与测试 问候 Web 服务进行交互。服务 WSDL 位于 http://localhost:8080/webservices/greeting-security-basic?wsdl

    有一个名为 greet 的单个服务操作,它取两个名为 messagename 的 String 参数。调用 Web 服务将返回这些值链接在一起的响应。

测试 Camel Secure CXF JAX-WS 快速入门

  1. 浏览到 http://localhost:8080/example-camel-cxf-jaxws-secure/
  2. Send A Greeting Web 表单上,在文本字段中输入 消息和 名称,然后按 发送 按钮。

    您输入的信息会显示在 UI 中以问候语显示。CamelCxfWsServlet 从 Web UI 处理 POST 请求。它从参数值检索消息和名称,并构造对象数组。此对象数组是发送到 direct:start 端点的消息有效负载。ProducerTemplate 将消息有效负载发送到 Camel。direct:start 端点将对象数组传递给 cxf:bean web service producer。CamelCxfWsServlet 使用 Web 服务响应来显示 Web UI 上的问候语。您可以在 src/main/webapp/WEB-INF/cxfws-security-camel-context.xml 文件中看到完整的 Camel 路由。

取消部署快速入门

  1. 运行以下命令来取消部署快速入门。

    mvn clean -Pdeploy
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.