111.13. 示例 2:将数据写入 SAP
本例演示了在 SAP 中创建 FlightTrip
业务对象实例的路由。路由调用 FlightTrip
BAPI 方法 BAPI_FLTRIP_CREATE
,使用目标端点来创建对象。
111.13.1. 用于路由的 Java DSL
示例路由的 Java DSL 如下:
from("direct:createFlightTrip") .to("bean:createFlightTripRequest") .to("sap-srfc-destination:nplDest:BAPI_FLTRIP_CREATE?transacted=true") .to("bean:returnFlightTripResponse");
111.13.2. 路由的 XML DSL
同一路由的 Spring DSL 如下:
<route> <from uri="direct:createFlightTrip"/> <to uri="bean:createFlightTripRequest"/> <to uri="sap-srfc-destination:nplDest:BAPI_FLTRIP_CREATE?transacted=true"/> <to uri="bean:returnFlightTripResponse"/> </route>
111.13.3. 事务支持
请注意,SAP 端点的 URL 将 transacted
选项设置为 true
。启用此选项后,端点可确保在调用 RFC 调用前启动 SAP 事务会话。由于此端点的 RFC 在 SAP 中创建新数据,因此此选项需要在 SAP 中永久进行路由更改。
111.13.4. 填充请求参数
createFlightTripRequest
和 returnFlightTripResponse
beans 负责将请求参数填充到 SAP 请求中,并根据上例中所示的相同操作序列来提取响应参数。