55.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 将置于 SAP 响应对象中,并由服务器端点返回。
55.14.1. 用于路由的 Java DSL 复制链接链接已复制到粘贴板!
示例路由的 Java DSL 如下:
55.14.2. 用于路由的 XML DSL 复制链接链接已复制到粘贴板!
和同一路由的 XML DSL 如下:
55.14.3. BookFlightRequest bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它从 SAP BOOK_FLIGHT 请求对象序列化形式取消marshals:
55.14.4. BookFlightResponse bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它遵循 SAP BOOK_FLIGHT 响应对象的序列化形式:
响应对象的复杂参数字段被序列化为响应的子元素。
55.14.5. FlightInfo bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它采用复杂结构参数 FLTINFO 的序列化形式:
55.14.6. ConnectionInfoTable bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它对复杂表参数 CONNINFO 的序列化形式 marshals。请注意,JAXB bean 的 root 元素类型的名称对应于以 _TABLE 后缀后缀的行结构类型的名称,并且 bean 包含行元素列表。
55.14.7. ConnectionInfo bean 复制链接链接已复制到粘贴板!
以下列表演示了一个 JAXB bean,它采用上表行元素的序列化形式: