104.14. 示例 3:处理 SAP 的请求
本例演示了处理从 SAP 到 BOOK_FLIGHT RFC 的请求的路由,该路由由路由实施。此外,它演示了组件的 XML 序列化支持,使用 JAXB 到 unmarshal 和 marshal SAP 请求对象,并将对象响应到自定义 Bean。
此路由代表旅行代理 FlightCustomer 创建 FlightTrip 业务对象。路由首先将 SAP 服务器端点收到的 SAP 请求对象加载到自定义 JAXB bean 中。然后,这个自定义 Bean 在交换中被多播到三个子路由,它会收集创建动态行程所需的旅行代理、flight 连接和乘客信息。最后的子路由会在 SAP 中创建 flight trip 对象,如上例中所示。最终的子路由还会创建并返回自定义 JAXB bean,该 Bean 会被 marshaled 到 SAP 响应对象,并由服务器端点返回。
104.14.1. 用于路由的 Java DSL 复制链接链接已复制到粘贴板!
示例路由的 Java DSL 如下:
104.14.2. 路由的 XML DSL 复制链接链接已复制到粘贴板!
同一路由的 XML DSL 如下:
104.14.3. BookFlightRequest bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它来自 SAP BOOK_FLIGHT 请求对象的序列化形式:
104.14.4. BookFlightResponse bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它被处理到 SAP BOOK_FLIGHT 响应对象的序列化形式:
响应对象的复杂参数字段被序列化为响应的子元素。
104.14.5. FlightInfo bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它被处理到复杂结构参数 FLTINFO 的序列化形式:
104.14.6. ConnectionInfoTable bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它将对复杂表参数 CONNINFO 的序列化形式 marshals。请注意,JAXB bean 的根元素类型的名称对应于类型为 _TABLE 的行结构的名称,bean 包含行元素列表。
104.14.7. ConnectionInfo bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它被处理到上述表行元素的序列化形式: