可以使用“添加适配器服务引用 Visual Studio 插件”来生成针对 SAP 工件中所选操作的 WCF 客户端类或 WCF 服务协定(接口)。 还可以使用 ServiceModel 元数据实用工具工具(svcutil.exe)生成 WCF 客户端类或 WCF 服务协定;但是,添加适配器服务引用插件通过标准 Microsoft Windows 接口公开 ServiceModel 元数据实用工具工具的功能。 它还提供 svcutil.exe 工具不可用的浏览和搜索功能,并根据连接到 SAP 系统时选择的绑定属性生成配置文件。
使用“添加适配器服务引用插件”生成客户端类
执行以下步骤,使用“添加适配器服务引用插件”生成 WCF 客户端类。
生成 WCF 客户端类
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“ 添加适配器服务引用”。
“ 添加适配器服务引用 ”对话框打开后,请按照 Visual Studio 中获取 SAP 操作的元数据 中的步骤连接到 SAP 系统并浏览和搜索操作。 要为您选择的操作创建 WCF 客户端类,请确保从“选择协定类型”下拉列表中选择“客户端(出站操作)”,这是默认值。
选择目标为的所有操作后,单击“确定”以生成 WCF 客户端类。
添加适配器服务引用插件将两个文件添加到项目:
SAPBindingClient.cs。 此文件包含为您选择的操作生成的 WCF 客户端类和辅助代码。
App.config。此文件包含绑定配置和客户端终结点配置。 这些设置是根据您在配置“添加适配器服务引用插件”时绑定和连接时所做的选择。
重要
使用“添加适配器服务引用插件”时,如果未为字符串类型的绑定属性指定值,并且其默认值为 null,则该绑定属性在 app.config 文件中将不可用。 如果需要,必须在 app.config 文件中手动添加绑定属性及其值。
使用“添加适配器服务引用插件”生成 WCF 服务协定
使用 SAP 适配器从 SAP 系统接收 IDOC、RFC 和 tRFC 时,代码充当适配器的服务。 也就是说,适配器从 SAP 系统接收相应的工件,然后调用您的代码上的一个(入站)操作,将工件传递到您的应用程序。
因此,必须实现可从适配器接收此入站操作的 WCF 服务。 为此,请使用“添加适配器服务引用插件”生成一个 .NET 接口,该接口表示由适配器为操作公开的服务协定。 此 .NET 接口也称为 WCF 服务协定。 添加适配器服务引用插件还会生成一个类,该类包含 WCF 服务的存根实现。 然后实现此接口以创建用于接收操作的 WCF 服务。
执行以下步骤,使用“添加适配器服务引用插件”生成 WCF 服务协定。
生成 WCF 服务协定
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“ 添加适配器服务引用”。
“ 添加适配器服务引用 ”对话框打开后,请按照 Visual Studio 中“获取 SAP 操作的元数据” 中的步骤连接到 SAP 系统,并浏览和搜索操作。 若要为所选作创建 WCF 服务协定,请确保从“选择协定类型”下拉列表中选择“服务”(入站作)。
选择要生成 WCF 服务协定的所有操作后,单击“确定”。
添加适配器服务引用插件将三个文件添加到项目中:
SAPBindingInterface.cs。 此文件包含您所选择操作的生成的 WCF 服务协定(接口)和辅助代码。
SAPBindingService.cs。 此文件包含一个 stubbed WCF 服务类,该类实现在SAPBindingInterface.cs中定义的接口。 可以在此类的方法中直接实现处理 RFC、tRFC 或 IDOC 的业务逻辑。
App.config。此文件包含一个绑定配置、终结点行为和服务终结点配置,该配置基于你在为“添加适配器服务引用插件”配置绑定和连接时所做的选择。
重要
使用“添加适配器服务引用插件”时,如果未为字符串类型的绑定属性指定值,并且其默认值为 null,则该绑定属性在 app.config 文件中将不可用。 如果需要,必须在 app.config 文件中手动添加绑定属性及其值。
注释
配置“添加适配器服务引用插件”的连接 URI 以生成 WCF 服务协定时,无需指定 RFC 服务器参数。 SAP 适配器通过客户端连接从 SAP 系统检索元数据。
使用 svcutil.exe 生成 WCF 客户端类或 WCF 服务协定
可以使用 svcutil.exe 为应用程序生成 WCF 客户端类或 WCF 服务协定。 必须将 svcutil.exe 配置为将其与 SAP 适配器一起使用。 有关配置和使用 SAP 适配器 svcutil.exe 的详细信息,请参阅 将 ServiceModel 元数据实用工具工具与 mySAP Business Suite 的 BizTalk 适配器配合使用。
Svcutil.exe 在输出文件中生成 WCF 客户端类或 WCF 服务协定。 默认文件名为output.cs。 必须在 Visual Studio 项目中手动包含此文件。