最近在梳理 SAP PI 和 SAP PO 的 Adapter Framework 资料时,Creating Adapter Metadata这一节很容易被人快速扫过去。表面看,它只是告诉我们要写一个 XML 文件,用来描述适配器的配置参数。但真正做过自定义 Adapter 或者维护过老版本 PI 升级项目的人会知道,Adapter Metadata 不是一个普通配置文件,它更像是适配器在 Integration Directory 里的「产品说明书」「界面生成规则」和「兼容性契约」的组合体。在 SAP PI 的世界里,通信通道不是凭空出现的。一个 File Adapter、JMS Adapter、SOAP Adapter、RFC Adapter 能在 Integration Directory 里被选择、被配置、被保存,是因为系统知道这个 Adapter 类型支持哪些方向,支持哪些 Transport Protocol,支持哪些 Message Protocol,哪些字段必填,哪些字段和某个协议选择有关,哪些字段属于安全配置,哪些字段属于全局通道配置。这些信息并不是在 Integration Directory 界面里硬编码出来的,而是来自 Adapter Metadata。SAP 官方文档明确说明,Adapter Metadata 用于定义通信通道中与具体 Adapter 类型相关的那一部分配置,系统会用这些 Metadata 生成配置界面,并把配置数据保存到数据库中,而 Adapter Metadata 自身是一个 XML 文档。(