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