Jump To Close Expand all Collapse all Table of contents Apache CXF 开发指南 使开源包含更多 I. 编写 WSDL 合同 Expand section "I. 编写 WSDL 合同" Collapse section "I. 编写 WSDL 合同" 1. 介绍 WSDL 合同 Expand section "1. 介绍 WSDL 合同" Collapse section "1. 介绍 WSDL 合同" 1.1. WSDL 文档的结构 1.2. WSDL 元素 1.3. 设计合同 2. 定义逻辑数据单元 Expand section "2. 定义逻辑数据单元" Collapse section "2. 定义逻辑数据单元" 2.1. 逻辑数据单元简介 2.2. 将数据映射到逻辑数据单元 2.3. 在合同中添加数据单元 2.4. XML 架构简单类型 2.5. 定义复杂数据类型 Expand section "2.5. 定义复杂数据类型" Collapse section "2.5. 定义复杂数据类型" 2.5.1. 定义数据结构 2.5.2. 定义数组 2.5.3. 按扩展定义类型 2.5.4. 根据限制定义类型 2.5.5. 定义枚举的类型 2.6. 定义元素 3. 定义服务使用的逻辑消息 4. 定义逻辑接口 II. Web 服务绑定 Expand section "II. Web 服务绑定" Collapse section "II. Web 服务绑定" 5. 了解 WSDL 中的绑定 6. 使用 SOAP 1.1 消息 Expand section "6. 使用 SOAP 1.1 消息" Collapse section "6. 使用 SOAP 1.1 消息" 6.1. 添加 SOAP 1.1 Binding 6.2. 在 SOAP 1.1 绑定中添加 SOAP 标头 7. 使用 SOAP 1.2 信息 Expand section "7. 使用 SOAP 1.2 信息" Collapse section "7. 使用 SOAP 1.2 信息" 7.1. 将 SOAP 1.2 绑定添加到 WSDL 文档 7.2. 在 SOAP 1.2 消息中添加标头 8. 使用 SOAP 使用附件发送二进制数据 9. 使用 SOAP MTOM 发送二进制数据 Expand section "9. 使用 SOAP MTOM 发送二进制数据" Collapse section "9. 使用 SOAP MTOM 发送二进制数据" 9.1. MTOM 概述 9.2. 使用 MTOM 注解数据类型 9.3. 启用 MTOM Expand section "9.3. 启用 MTOM" Collapse section "9.3. 启用 MTOM" 9.3.1. 使用 JAX-WS API 9.3.2. 使用配置 10. 使用 XML 文档 III. Web 服务传输 Expand section "III. Web 服务传输" Collapse section "III. Web 服务传输" 11. 了解 WSDL 中如何定义端点 12. 使用 HTTP Expand section "12. 使用 HTTP" Collapse section "12. 使用 HTTP" 12.1. 添加基本 HTTP 端点 12.2. 配置一个 Consumer Expand section "12.2. 配置一个 Consumer" Collapse section "12.2. 配置一个 Consumer" 12.2.1. HTTP Consumer 端点的机制 12.2.2. 使用配置 12.2.3. 使用 WSDL 12.2.4. 消费者缓存控制指令 12.3. 配置服务提供商 Expand section "12.3. 配置服务提供商" Collapse section "12.3. 配置服务提供商" 12.3.1. HTTP 服务提供商的机制 12.3.2. 使用配置 12.3.3. 使用 WSDL 12.3.4. 服务提供商缓存控制指令 12.4. 配置 Undertow 运行时 12.5. 配置网络运行时 12.6. 在拒绝模式中使用 HTTP 传输 13. 使用 JMS 的 SOAP Expand section "13. 使用 JMS 的 SOAP" Collapse section "13. 使用 JMS 的 SOAP" 13.1. 基本配置 13.2. JMS URI 13.3. WSDL 扩展 14. 使用通用 JMS Expand section "14. 使用通用 JMS" Collapse section "14. 使用通用 JMS" 14.1. 配置 JMS 的方法 14.2. 使用 JMS 配置 bean 14.3. 优化客户端 JMS 性能 14.4. 配置 JMS 事务 14.5. 使用 WSDL 配置 JMS Expand section "14.5. 使用 WSDL 配置 JMS" Collapse section "14.5. 使用 WSDL 配置 JMS" 14.5.1. JMS WSDL 扩展名称 14.5.2. 基本 JMS 配置 14.5.3. JMS 客户端配置 14.5.4. JMS 提供程序配置 14.6. 使用 Named Reply Destination 15. 与 Apache ActiveMQ 集成 16. conduits IV. 配置 Web 服务端点 Expand section "IV. 配置 Web 服务端点" Collapse section "IV. 配置 Web 服务端点" 17. 配置 JAX-WS 端点 Expand section "17. 配置 JAX-WS 端点" Collapse section "17. 配置 JAX-WS 端点" 17.1. 配置服务供应商 Expand section "17.1. 配置服务供应商" Collapse section "17.1. 配置服务供应商" 17.1.1. 配置服务提供程序的元素 17.1.2. 使用 jaxws:endpoint Element 17.1.3. 使用 jaxws:server Element 17.1.4. 为服务提供商添加功能 17.1.5. 在 JAX-WS 端点上启用 Schema 验证 17.2. 配置 Consumer 端点 18. 配置 JAX-RS 端点 Expand section "18. 配置 JAX-RS 端点" Collapse section "18. 配置 JAX-RS 端点" 18.1. 配置 JAX-RS 服务器端点 Expand section "18.1. 配置 JAX-RS 服务器端点" Collapse section "18.1. 配置 JAX-RS 服务器端点" 18.1.1. 定义 JAX-RS 服务器端点 18.1.2. jaxrs:server 属性 18.1.3. jaxrs:server Child Elements 18.2. 配置 JAX-RS 客户端端点 Expand section "18.2. 配置 JAX-RS 客户端端点" Collapse section "18.2. 配置 JAX-RS 客户端端点" 18.2.1. 定义 JAX-RS 客户端端点 18.2.2. jaxrs:client 属性 18.2.3. jaxrs:client Child Elements 18.3. 使用模型架构定义 REST 服务 19. Apache CXF Logging Expand section "19. Apache CXF Logging" Collapse section "19. Apache CXF Logging" 19.1. Apache CXF 日志概述 19.2. 使用日志记录的简单示例 19.3. 默认日志记录配置文件 Expand section "19.3. 默认日志记录配置文件" Collapse section "19.3. 默认日志记录配置文件" 19.3.1. 日志配置概述 19.3.2. 配置日志输出 19.3.3. 配置日志记录级别 19.4. 通过命令行启用日志记录 19.5. 为 subsystem 和 Services 日志记录 19.6. 记录消息内容 20. 部署 WS-Addressing Expand section "20. 部署 WS-Addressing" Collapse section "20. 部署 WS-Addressing" 20.1. WS-Addressing 简介 20.2. WS-Addressing Interceptors 20.3. 启用 WS-Addressing 20.4. 配置 WS-Addressing 属性 21. 启用可靠消息 Expand section "21. 启用可靠消息" Collapse section "21. 启用可靠消息" 21.1. WS-RM 简介 21.2. ws-RM Interceptors 21.3. 启用 WS-RM 21.4. 运行时控制 21.5. 配置 WS-RM Expand section "21.5. 配置 WS-RM" Collapse section "21.5. 配置 WS-RM" 21.5.1. 配置 Apache CXF 特定 WS-RM 属性 21.5.2. 配置标准 WS-RM 策略属性 21.5.3. WS-RM 配置用例 21.6. 配置 WS-RM Persistence 22. 启用高可用性 Expand section "22. 启用高可用性" Collapse section "22. 启用高可用性" 22.1. 高可用性简介 22.2. 使用静态故障切换启用 HA 22.3. 使用静态故障切换配置 HA 23. Apache CXF Binding ID A. 使用 Maven OSGi 工具 Expand section "A. 使用 Maven OSGi 工具" Collapse section "A. 使用 Maven OSGi 工具" A.1. Maven Bundle Plug-In A.2. 设置红帽 Fuse OSGi 项目 A.3. 配置捆绑插件 V. 使用 JAX-WS 开发应用程序 Expand section "V. 使用 JAX-WS 开发应用程序" Collapse section "V. 使用 JAX-WS 开发应用程序" 24. 底层服务开发 Expand section "24. 底层服务开发" Collapse section "24. 底层服务开发" 24.1. JAX-WS 服务开发简介 24.2. 创建 SEI 24.3. 为代码添加注解 Expand section "24.3. 为代码添加注解" Collapse section "24.3. 为代码添加注解" 24.3.1. JAX-WS Annotations 概述 24.3.2. 必需的注解 24.3.3. 可选注解 24.3.4. Apache CXF Annotations Expand section "24.3.4. Apache CXF Annotations" Collapse section "24.3.4. Apache CXF Annotations" 24.3.4.1. WSDL 文档 24.3.4.2. @WSDL 文档属性 24.3.4.3. 使用 @WSDL 文档 24.3.4.4. 使用文档生成的 WSDL 24.3.4.5. 使用 @WSDL 文档Collection 24.3.4.6. 消息的 schema 验证 24.3.4.7. 架构验证类型值 24.3.4.8. 指定数据绑定 24.3.4.9. 设置数据绑定 24.3.4.10. 压缩信息 24.3.4.11. @GZIP Properties 24.3.4.12. @fastinfoset Properties 24.3.4.13. 启用 GZIP 24.3.4.14. 启用 FastInfoset 24.3.4.15. 在端点上启用日志记录 24.3.4.16. @logging 属性 24.3.4.17. 使用注解进行日志配置 24.3.4.18. 在端点中添加属性和策略 24.3.4.19. 添加属性 24.3.4.20. 使用 @EndpointProperty Annotations 配置 WS-Security 24.3.4.21. 使用 @EndpointProperties 注解配置 WS-Security 24.3.4.22. 添加策略 24.3.4.23. @policy 属性 24.4. 生成 WSDL 25. 在没有 WSDL 合同的情况下开发消费者 Expand section "25. 在没有 WSDL 合同的情况下开发消费者" Collapse section "25. 在没有 WSDL 合同的情况下开发消费者" 25.1. Java-First Consumer Development 25.2. 创建服务对象 25.3. 将端口添加到服务 25.4. 获取端点的代理 25.5. 实现 Consumer 的商业 Logic 26. 开始点 WSDL 合同 Expand section "26. 开始点 WSDL 合同" Collapse section "26. 开始点 WSDL 合同" 26.1. WSDL 合同示例 27. 顶级服务开发 Expand section "27. 顶级服务开发" Collapse section "27. 顶级服务开发" 27.1. JAX-WS 服务提供商开发概述 27.2. 生成 Starting Point Code 27.3. 实施服务提供商 28. 从 WSDL 合同开发消费者 Expand section "28. 从 WSDL 合同开发消费者" Collapse section "28. 从 WSDL 合同开发消费者" 28.1. 生成 Stub Code 28.2. 实现消费者 29. 在运行时查找 WSDL Expand section "29. 在运行时查找 WSDL" Collapse section "29. 在运行时查找 WSDL" 29.1. 用于查找 WSDL 文档的机制 29.2. 使用注入注入代理 29.3. 使用 JAX-WS 目录 29.4. 使用合同解析器 30. 通用故障处理 Expand section "30. 通用故障处理" Collapse section "30. 通用故障处理" 30.1. 运行时故障 30.2. 协议故障 31. 发布服务 Expand section "31. 发布服务" Collapse section "31. 发布服务" 31.1. 发布服务时 31.2. 用于发布服务的 API 31.3. 在 Plain Java Application 中发布服务 31.4. 在 OSGi 容器中发布服务 32. 基本数据绑定概念 Expand section "32. 基本数据绑定概念" Collapse section "32. 基本数据绑定概念" 32.1. 包含和导入架构定义 32.2. XML 命名空间映射 32.3. 对象因素 32.4. 在 Runtime Marshaller 中添加类 33. 使用 XML 元素 34. 使用简单类型 Expand section "34. 使用简单类型" Collapse section "34. 使用简单类型" 34.1. 原语类型 34.2. 由 Restriction 定义的简单类型 34.3. 枚举 34.4. 列表 34.5. unions 34.6. 简单类型替换 35. 使用复杂类型 Expand section "35. 使用复杂类型" Collapse section "35. 使用复杂类型" 35.1. 基本复杂类型映射 35.2. 属性 35.3. 从简单类型分离复杂类型 35.4. 从复杂类型分离复杂类型 35.5. 发生限制 Expand section "35.5. 发生限制" Collapse section "35.5. 发生限制" 35.5.1. 模式元素支持限制 35.5.2. All Element 上的冲突限制 35.5.3. 对选择元素的发生限制 35.5.4. 元素出现冲突限制 35.5.5. 对序列的限制 35.6. 使用模型组 36. 使用通配符类型 Expand section "36. 使用通配符类型" Collapse section "36. 使用通配符类型" 36.1. 使用 Any Elements 36.2. 使用 XML 架构任何类型 36.3. 使用 Unbound 属性 37. element Substitution Expand section "37. element Substitution" Collapse section "37. element Substitution" 37.1. 在 XML Schema 中替换组 37.2. Java 中的替换组 37.3. 小部件供应商示例 Expand section "37.3. 小部件供应商示例" Collapse section "37.3. 小部件供应商示例" 37.3.1. 小部件顺序接口 37.3.2. checkWidgets Operation 37.3.3. placeWidgetOrder Operation 38. 自定义类型是如何生成方式 Expand section "38. 自定义类型是如何生成方式" Collapse section "38. 自定义类型是如何生成方式" 38.1. 自定义类型映射的基础知识 38.2. 指定 XML 架构 Primitive 的 Java 类 38.3. 为简单类型生成 Java 类 38.4. 自定义枚举映射 38.5. 自定义修复的值属性映射 38.6. 指定 Element 或属性的基本类型 39. 使用 A JAXBContext 对象 40. 开发同步应用程序 Expand section "40. 开发同步应用程序" Collapse section "40. 开发同步应用程序" 40.1. 同步调用的类型 40.2. WSDL 用于异步示例 40.3. 生成 Stub Code 40.4. 使用轮询方法实施同步客户端 40.5. 使用回调方法实施同步客户端 40.6. 从远程服务捕获异常 41. 使用 Raw XML 消息 Expand section "41. 使用 Raw XML 消息" Collapse section "41. 使用 Raw XML 消息" 41.1. 在 Consumer 中使用 XML Expand section "41.1. 在 Consumer 中使用 XML" Collapse section "41.1. 在 Consumer 中使用 XML" 41.1.1. 使用模式 41.1.2. 数据类型 41.1.3. 使用 Dispatch 对象 41.2. 在服务提供商中使用 XML Expand section "41.2. 在服务提供商中使用 XML" Collapse section "41.2. 在服务提供商中使用 XML" 41.2.1. 消息传递模式 41.2.2. 数据类型 41.2.3. 实施提供程序对象 42. 使用上下文 Expand section "42. 使用上下文" Collapse section "42. 使用上下文" 42.1. 了解上下文 42.2. 在服务实现中使用上下文 42.3. 在消费者实现中使用上下文 42.4. 使用 JMS 消息属性 Expand section "42.4. 使用 JMS 消息属性" Collapse section "42.4. 使用 JMS 消息属性" 42.4.1. 检查 JMS 消息标头 42.4.2. 检查消息标头属性 42.4.3. 设置 JMS 属性 43. 编写处理程序 Expand section "43. 编写处理程序" Collapse section "43. 编写处理程序" 43.1. 处理程序:简介 43.2. 实施逻辑处理程序 43.3. 在逻辑处理程序中处理消息 43.4. 实施协议处理程序 43.5. 在 SOAP 处理程序中处理消息 43.6. 初始化处理程序 43.7. 处理故障消息 43.8. 关闭处理程序 43.9. 发布处理程序 43.10. 配置端点以使用处理程序 Expand section "43.10. 配置端点以使用处理程序" Collapse section "43.10. 配置端点以使用处理程序" 43.10.1. 程序配置 Expand section "43.10.1. 程序配置" Collapse section "43.10.1. 程序配置" 43.10.1.1. 在消费者中添加处理程序链 43.10.1.2. 在服务提供商中添加处理程序链 43.10.2. Spring 配置 44. Maven 工具参考 Expand section "44. Maven 工具参考" Collapse section "44. Maven 工具参考" 44.1. 插件设置 44.2. cxf-codegen-plugin 44.3. java2ws VI. 开发 RESTful Web 服务 Expand section "VI. 开发 RESTful Web 服务" Collapse section "VI. 开发 RESTful Web 服务" 45. RESTful Web 服务简介 46. 创建资源 Expand section "46. 创建资源" Collapse section "46. 创建资源" 46.1. 简介 46.2. 基本 JAX-RS 注释 46.3. 根资源类 46.4. 使用资源方法 46.5. 使用子资源 46.6. 资源选择方法 47. 将信息传入资源类和方法 Expand section "47. 将信息传入资源类和方法" Collapse section "47. 将信息传入资源类和方法" 47.1. 注入数据的基础知识 47.2. 使用 JAX-RS API Expand section "47.2. 使用 JAX-RS API" Collapse section "47.2. 使用 JAX-RS API" 47.2.1. JAX-RS 注解类型 47.2.2. 注入请求 URI 中的数据 47.2.3. 注入 HTTP 邮件标头中的数据 47.2.4. 注入 HTML 格式的数据 47.2.5. 指定要注入的默认值 47.2.6. 将参数注入 Java Bean 47.3. 参数转换器 47.4. 使用 Apache CXF 扩展 48. 将信息返回到 Consumer Expand section "48. 将信息返回到 Consumer" Collapse section "48. 将信息返回到 Consumer" 48.1. 返回类型 48.2. 返回普通 Java 结构 48.3. 微调应用程序的响应 Expand section "48.3. 微调应用程序的响应" Collapse section "48.3. 微调应用程序的响应" 48.3.1. 构建响应的基础知识 48.3.2. 为常见用例创建响应 48.3.3. 处理更高级的响应 48.4. 使用通用类型信息返回实体 48.5. 异步响应 Expand section "48.5. 异步响应" Collapse section "48.5. 异步响应" 48.5.1. 服务器上的异步处理 48.5.2. 超时和超时处理程序 48.5.3. 处理丢弃的连接 48.5.4. 注册回调 49. JAX-RS 2.0 Client API Expand section "49. JAX-RS 2.0 Client API" Collapse section "49. JAX-RS 2.0 Client API" 49.1. JAX-RS 2.0 客户端 API 简介 49.2. 构建客户端目标 49.3. 构建客户端调用 49.4. 解析请求和响应 49.5. 配置客户端端点 49.6. 客户端上的异步处理 50. 处理异常 Expand section "50. 处理异常" Collapse section "50. 处理异常" 50.1. JAX-RS Exception 类概述 50.2. 使用 WebApplicationException 例外报告 50.3. JAX-RS 2.0 Exception 类型 50.4. 将例外映射到响应 51. 实体支持 52. 获取和使用上下文信息 Expand section "52. 获取和使用上下文信息" Collapse section "52. 获取和使用上下文信息" 52.1. 上下文简介 52.2. 使用完整请求 URI Expand section "52.2. 使用完整请求 URI" Collapse section "52.2. 使用完整请求 URI" 52.2.1. 注入 URI 信息 52.2.2. 使用 URI 52.2.3. 获取 URI 模板变量的值 53. 注解继承 54. 使用 OpenAPI 支持扩展 JAX-RS 端点 Expand section "54. 使用 OpenAPI 支持扩展 JAX-RS 端点" Collapse section "54. 使用 OpenAPI 支持扩展 JAX-RS 端点" 54.1. OpenApiFeature 选项 54.2. Quarkus 实施 Expand section "54.2. Quarkus 实施" Collapse section "54.2. Quarkus 实施" 54.2.1. Quickstart 示例 54.2.2. 启用 OpenAPI 54.3. Spring 引导实现 Expand section "54.3. Spring 引导实现" Collapse section "54.3. Spring 引导实现" 54.3.1. Quickstart 示例 54.3.2. 启用 Swagger 54.4. 访问 OpenAPI 文档 54.5. 通过反向代理访问 OpenAPI VII. 开发 Apache CXF Interceptors Expand section "VII. 开发 Apache CXF Interceptors" Collapse section "VII. 开发 Apache CXF Interceptors" 55. Apache CXF 运行时的拦截器 56. Interceptor API 57. 确定 Interceptor 何时被调用 Expand section "57. 确定 Interceptor 何时被调用" Collapse section "57. 确定 Interceptor 何时被调用" 57.1. 指定 Interceptor 位置 57.2. 指定拦截器的阶段 57.3. 在阶段限制拦截器放置 58. 实现拦截器处理日志 Expand section "58. 实现拦截器处理日志" Collapse section "58. 实现拦截器处理日志" 58.1. 拦截器流 58.2. 处理消息 58.3. 出错后 Unwinding 59. 配置端点以使用拦截器 Expand section "59. 配置端点以使用拦截器" Collapse section "59. 配置端点以使用拦截器" 59.1. 确定附加拦截器的位置 59.2. 使用配置添加拦截器 59.3. 以编程方式添加拦截器 Expand section "59.3. 以编程方式添加拦截器" Collapse section "59.3. 以编程方式添加拦截器" 59.3.1. 添加拦截器的方法 59.3.2. 使用拦截器供应商 API 59.3.3. 使用 Java 注解 60. 在 Fly 操作 Interceptor Chains 61. JAX-RS 2.0 过滤器和拦截器 Expand section "61. JAX-RS 2.0 过滤器和拦截器" Collapse section "61. JAX-RS 2.0 过滤器和拦截器" 61.1. JAX-RS 过滤器和拦截器介绍 61.2. 容器请求过滤器 61.3. 容器响应过滤器 61.4. 客户端请求过滤器 61.5. 客户端响应过滤器 61.6. 实体读者 61.7. 实体作者 Interceptor 61.8. 动态绑定 62. Apache CXF 消息处理阶段 63. Apache CXF Provided Interceptors Expand section "63. Apache CXF Provided Interceptors" Collapse section "63. Apache CXF Provided Interceptors" 63.1. Core Apache CXF Interceptors 63.2. Front-Ends 63.3. 消息绑定 63.4. 其他功能 64. 拦截器供应商 VIII. Apache CXF 功能 Expand section "VIII. Apache CXF 功能" Collapse section "VIII. Apache CXF 功能" 65. bean Validation Expand section "65. bean Validation" Collapse section "65. bean Validation" 65.1. 简介 65.2. 使用 Bean 验证开发服务 Expand section "65.2. 使用 Bean 验证开发服务" Collapse section "65.2. 使用 Bean 验证开发服务" 65.2.1. 为 Service Bean 标注 65.2.2. 标准注解 65.2.3. 自定义注解 65.3. 配置 Bean 验证 Expand section "65.3. 配置 Bean 验证" Collapse section "65.3. 配置 Bean 验证" 65.3.1. JAX-WS 配置 65.3.2. JAX-RS 配置 65.3.3. JAX-RS 2.0 配置 Settings Close Language: 日本語 한국어 简体中文 English Language: 日本語 한국어 简体中文 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 日本語 한국어 简体中文 English Language: 日本語 한국어 简体中文 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF 1.3. 设计合同 要为服务设计 WSDL 合同,您必须执行以下步骤: 定义服务使用的数据类型。 定义您的服务使用的消息。 定义服务的接口。 定义每个接口使用的消息和线路上的数据的转换之间的绑定。 定义每个服务的传输详情。 Previous Next