55.13. 示例 2:向 SAP 写入数据
本例演示了在 SAP 中创建 FlightTrip
业务对象实例的路由。路由调用 FlightTrip
BAPI 方法 BAPI_FLTRIP_CREATE
,使用目标端点来创建对象。
55.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");
55.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>
55.13.3. 事务支持
请注意,SAP 端点的 URL 将 transacted
选项设置为 true
。启用此选项后,端点会在调用 RFC 调用前确保启动 SAP 事务会话。由于此端点的 RFC 在 SAP 中创建新数据,因此此选项需要在 SAP 中永久保留路由的更改。
55.13.4. 填充请求参数
createFlightTripRequest
和 returnFlightTripResponse
Bean 负责将请求参数填充至 SAP 请求中,并相应地从 SAP 响应中提取响应参数,如上例所示。