7.6. 部署 CXF JAX-WS 快速入门
本示例演示了在 EAP 上使用 camel-cxf 组件来生成和使用由 Elytron 安全域保护的 JAX-WS Web 服务。Elytron 是自 EAP 7.1 起提供的一个新安全框架。在此快速入门中,Camel 路由从直接端点获取消息有效负载,并将其传递给 CXF producer 端点。producer 使用有效负载将参数传递给 BASIC HTTP 身份验证保护的 CXF JAX-WS Web 服务。
先决条件
- 确保已安装和配置 Maven。
- 确保安装和配置了具有 Red Hat Fuse 的应用程序服务器。
流程
设置
JBOSS_HOME
环境变量,以指向应用服务器安装的根目录。对于 Linux
export JBOSS_HOME=...
对于 Windows:
set JBOSS_HOME=...
使用
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
以独立模式启动应用服务器。
对于 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-xml
和web.xml
文件设置应用程序安全性域、安全角色和限制。
构建和部署项目。
mvn install -Pdeploy
此命令还调用 CLI 脚本
configure-basic-security.cli
,用于创建安全域和一些其他管理对象。浏览至
http://localhost:8080/example-camel-cxf-jaxws-secure/
此时会显示标题为 Send A Greeting 的页面。此 UI 可让您与已启动的 测试 问候 Web 服务进行交互。服务 WSDL 位于
http://localhost:8080/webservices/greeting-security-basic?wsdl
单个服务操作名为 greet,它取两个名为 message 和 name 的 String 参数。调用 Web 服务将返回这些值链接在一起的响应。
测试 Camel Secure CXF JAX-WS
快速入门
- 浏览至 http://localhost:8080/example-camel-cxf-jaxws-secure/
在 Send A Greeting web 表单上,在文本字段中输入 消息和 名称,然后按" 发送 "按钮。
您输入的信息显示为 UI 上的问候语。
CamelCxfWsServlet
处理来自 Web UI 的 POST 请求。它从参数值中检索消息和名称,并构造对象数组。此对象数组是发送到direct:start
端点的消息有效负载。ProducerTemplate
将消息有效负载发送到 Camel。direct:start
端点将对象数组传递到cxf:bean
web 服务制作者。CamelCxfWsServlet
使用 Web 服务响应来显示 Web UI 上的问候语。您可以在src/main/webapp/WEB-INF/cxfws-security-camel-context.xml
文件中查看完整的 Camel 路由。
取消部署快速入门
运行以下命令以取消部署 quickstart。
mvn clean -Pdeploy