浏览、搜索和获取 SAP 中 IDOC 操作的元数据
本部分介绍如何使用“添加适配器服务引用插件”、“添加适配器元数据向导”或“使用适配器服务加载项”浏览、搜索和检索 SAP 中的 IDOC 操作元数据。 对于所有三个用户界面,大多数说明都是相同的。 在适用的情况下,为相关用户界面提供单独的过程。
在执行以下部分中提供的步骤之前,必须具备:
已创建 Visual Studio 项目。
使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用插件”连接到 SAP 系统。 有关说明,请参阅 在 Visual Studio 中连接到 SAP 系统 注意,在连接到 SAP 系统以生成架构或 WCF 客户端以生成 IDOC 之前,必须设置某些绑定属性。
GenerateFlatFileCompatibleIdocSchema
ReceiveIdocFormat
FlatFileSegmentIndicator
这些属性控制如何从 SAP 系统检索 IDOC 的元数据。 有关这些属性的详细信息,请参阅 了解 mySAP Business Suite 绑定属性的 BizTalk 适配器。 有关如何设置绑定属性的说明,请参阅 配置 SAP 适配器的绑定属性。
在 SAP 系统中浏览 IDOC
使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用插件”浏览元数据时,SAP 适配器会显示单独的操作,用于从 SAP 系统发送和接收 IDOC。
发送和接收。 适配器客户端可以使用这些操作从使用强类型架构的 SAP 系统发送和接收 IDOC。 适配器为每个 IDOC 单独显示这些操作,并在相应的 IDOC 节点下可用。
SendIdoc 和 ReceiveIdoc。 适配器客户端可以使用这些操作从使用弱类型架构的 SAP 系统发送和接收 IDOC。 SAP 适配器仅为所有 IDOC 显示一个 SendIdoc 和 ReceiveIdoc 操作。 这些操作直接在 IDOC 节点下可用。
执行以下步骤,使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用”插件浏览 SAP 系统中的 IOC。
浏览 SAP 系统中的 IDOC
使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用”插件连接到 SAP 服务器。 有关说明 ,请参阅在 Visual Studio 中连接到 SAP 系统 。
从 “选择协定类型” 下拉列表中,根据是要使用适配器执行入站还是出站操作来选择协定的类型。
在 “选择类别 ”框中,单击 IDOC 节点以查看 “可用类别和操作 ”框中的 IDOC 消息类型。 或者,还可以通过展开 IDOC 节点来查看 IDOC 消息类型。
提示
当焦点位于“选择类别”框中的树视图中时,可以通过在 中键入项目的名称,直接转到树中的“直接 ”类别 节点或子类别节点。 例如,若要跳转到 ACC_BILLING IDOC 消息类型,请将焦点放在 IDOC 节点上,然后键入
ACC_BILLING
。下图显示了列出 IDOC 消息类型的“使用适配器服务加载项”。 根 IDOC 节点还显示 SendIdoc 选项,用于将弱类型 IDOC 发送到 SAP 系统。
中的消息类型
注意
对于入站方案,根 IDOC 节点会显示 ReceiveIdoc 操作来接收弱类型 IDOC。
单击 IDOC 消息类型以查看相关的 IDOC 类型。 下图显示了在特定 IDOC 消息类型下具有 IDOC 类型的使用适配器服务外接程序。
单击 IDOC 类型以查看 IDOC 类型的不同版本。 下图显示了具有特定 IDOC 类型的版本的“使用适配器服务”加载项。
的浏览版本
单击 IDOC 类型的版本以查看该 IDOC 类型上支持的操作。 下图显示了具有特定 IDOC 类型版本支持的操作的“使用适配器服务”加载项。
的浏览操作
在 SAP 系统中搜索 IDOC
使用“使用适配器服务加载项”、“添加适配器元数据向导”、“添加适配器服务引用插件”在 SAP 系统中搜索 IOC 的元数据时,SAP 适配器:
支持搜索表达式中的通配符。
立即在执行搜索操作的节点下启用搜索。
下表列出了 SAP 适配器可用于搜索及其解释的特殊字符。
特殊字符 | 解释 |
---|---|
+(加号) | 正好匹配一个字符。 例如,A+ 匹配 AB、AC、AD |
*(星号) | 与零个或多个字符匹配。 例如,A* 与 A、AB、ABC 匹配。 |
有关适配器支持的特殊字符的详细信息,请参阅 使用 WCF LOB 适配器 SDK 将适配器设置公开为绑定属性。
执行以下步骤,使用“使用适配器服务加载项”、“添加适配器元数据向导”和“添加适配器服务引用插件”在 SAP 系统中搜索 IOC。
在 SAP 系统中搜索 IDOC
使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用”插件连接到 SAP 服务器。 有关说明 ,请参阅在 Visual Studio 中连接到 SAP 系统 。
从 “选择协定类型” 下拉列表中,根据是要使用适配器搜索入站操作还是出站操作来选择合同类型。
在 “选择类别 ”框中,单击 IDOC 节点。
重要
只能在根级别搜索 IDOC。
在 “在类别中搜索 ”文本框中,输入搜索表达式以搜索特定的 IDOC 消息类型。 例如,若要搜索名称中包含“MATMAS”的 IDOC,请在文本框中键入 *MATMAS*。
单击带有右箭头图标的按钮以开始搜索。 搜索完成后,“ 可用类别和操作 ”框将列出满足搜索条件的 IDOC。
下图显示了列出 IDOC 搜索结果的“使用适配器服务加载项”。
为 BizTalk 项目生成架构
可以使用“使用适配器服务加载项”或“添加适配器元数据向导”为所选 SAP 项目生成架构。 浏览并搜索要调用的项目后,可以为这些项目生成架构,并将符合架构的消息发送到 SAP 系统。
注意
可以选择类别节点以返回该类别的子树中的所有操作,例如,可以选择 IDOC 类型 (为该组中所有版本的 IDOC 生成架构) ,或选择特定版本的 IDOC 以仅为该版本的 IDOC 生成架构。 有关节点的详细信息,请参阅 元数据节点 ID。
检索 IDOC 的元数据
使用“使用适配器服务加载项”或“添加适配器元数据向导”连接到 SAP 服务器。 有关说明 ,请参阅在 Visual Studio 中连接到 SAP 系统 。
从 “选择协定类型” 下拉列表中,根据是要使用适配器执行入站还是出站操作来选择协定的类型。
在 “选择类别 ”框中,单击要为其生成元数据的 IDOC 消息类型或 IDOC 类型。
在 “可用类别和操作 ”框中,选择要为其生成元数据的 IDOC 类型或支持的操作,然后单击“ 添加”。 所选 IDOC 类型或操作列在 “添加的类别和操作 ”框中。
下图显示了列出所选 IDOC 的“使用适配器服务加载项”。
元数据
如果要为多个操作生成架构,则这些架构中可能存在一些重复的元素定义,这可能会导致编译 BizTalk 项目失败。 例如,假设为操作“Op1”生成架构。 “Op1”的架构包含复杂数据类型“CT1”的参数。 生成“Op1”的架构后,关闭“使用适配器服务外接程序”,然后重新打开它,为另一个操作“Op2”生成架构。 假设“Op2”还包含复杂数据类型“CT1”的参数。 退出“使用适配器服务加载项”并编译项目后,将收到编译错误,因为复杂的数据类型“CT1”在不同的 XSD 文件中定义两次。 在这种情况下,我们建议执行以下操作:
为单次运行“使用适配器服务加载项”中的所有操作生成架构。 这可确保使用适配器服务加载项仅为复杂数据类型“CT1”生成一个定义。
如果要为使用适配器服务外接程序的不同运行中的多个操作生成架构,请确保选中“生成唯一架构类型检查”框,以便生成的 XSD 文件包含复杂数据类型“CT1”的唯一命名空间。
单击 “确定” 。 架构文件以 .xsd 扩展名保存在 IDOC 项目所在的同一位置。
注意
如果使用“使用适配器服务外接程序”,则默认情况下使用命名约定“SAPBinding<n.xsd>”创建文件,其中“n”可以是 1、2 等,具体取决于创建的架构文件的数量。 或者,可以通过在 “文件名前缀 ”文本框中输入名称来为架构文件提供自定义名称。 使用适配器服务加载项现在会创建具有命名约定 <文件名前缀><n.xsd> 的架构文件。
注意
使用适配器服务加载项还会创建一个绑定文件, (XML 文件) 包含你在为操作生成架构时指定的绑定属性,以及用于调用操作的 SOAP 操作。 可以在 BizTalk Server 管理控制台中导入此绑定文件,以使用连接 URI、绑定属性和 SOAP 操作集创建 WCF-Custom 端口。 有关详细信息,请参阅 使用到 SAP 的端口绑定文件配置物理端口绑定。
在“文件”菜单上,单击“全部保存” 。
使用添加适配器服务引用插件生成用于 IDOC 操作的 WCF 客户端
可以使用添加适配器服务引用插件生成 WCF 客户端代码以将 IDOC 发送到 SAP 系统,或使用 WCF 服务协定从 SAP 系统接收 IDOC。
为 IDOC 生成 WCF 客户端或 WCF 服务协定
在“添加适配器服务引用插件”中,从 “选择协定类型” 下拉列表中选择协定类型,根据是执行入站 (接收 IDOC) 还是出站 (发送 IDOC) 操作。
在 “选择类别 ”框中,展开 IDOC 节点,然后浏览或搜索要发送或接收的 IDOC 消息类型或 IDOC 类型。
在 “可用类别和操作 ”框中,选择要为其生成 WCF 客户端 (或 WCF 服务协定) 的 IDOC 类型或受支持的操作,然后单击“ 添加”。 所选操作在 “已添加的类别和操作 ”框中列出。 可以选择“ 可用类别和操作 ”框中列出的任何节点。 如果选择类别节点,则将添加该节点及其子节点下可用的所有操作。
重要
添加适配器服务引用插件为每个 IDOC 类型生成唯一的 WCF 客户端类 (或 WCF 服务协定) 。 根据所选的类别和操作,可能会生成多个 WCF 客户端类。 有关详细信息,请参阅 为 SAP 解决方案项目生成 WCF 客户端或 WCF 服务协定。
在大多数情况下,默认序列化选项就足够了;但是,如果需要,可以控制有关生成的代码和使用的序列化程序类型的几个方面。 若要设置这些选项,请执行以下操作:
单击“ 高级选项” 以打开“ 高级选项” 框。
在“选择生成的代理的选项”下的“高级选项”框中,选择所需的选项。 例如,可以选择是为 WCF 客户端生成异步方法,还是禁用配置文件的生成。
在“ 序列化程序 ”下,选择应使用的序列化程序。
下图显示了“ 高级选项” 框,其中默认选择 (序列化程序选择了 “自动 ”,) 未选择其他选项。
可以在“ 高级选项” 框中配置的选项等效于使用 ServiceModel 元数据实用工具 (svcutil.exe) 时可用的某些选项。 有关这些选项的详细信息,请参阅 ServiceModel 元数据实用工具 (Svcutil.exe) 。
单击 “确定” 。 添加适配器服务引用插件保存 WCF 客户端类 (或 WCF 服务接口) 和帮助程序代码,用于在项目目录中选择的操作和类别。 默认情况下,还会保存配置文件。 为入站和出站操作生成略有不同的文件;有关详细信息,请参阅 为 SAP 解决方案项目生成 WCF 客户端或 WCF 服务协定。