使用 ServiceModel 元数据实用工具和用于 Siebel eBusiness 应用程序的 BizTalk 适配器

可以使用 ServiceModel 元数据实用工具 (svcutil.exe) 为 Microsoft BizTalk Adapter for Siebel eBusiness Applications 公开的操作生成 WCF 客户端类。 运行 svcutil.exe 以生成 WCF 客户端类后,可以在代码中包含生成的文件,并创建 WCF 客户端类的实例以在 Siebel 系统上执行操作。

使用 svcutil.exe 需要提供包含凭据的连接 URI。 由于默认情况下,Siebel 适配器禁用连接 URI 中的凭据,因此必须将 svcutil.exe 配置为对 Siebel 适配器使用非默认绑定。 还可以在非默认绑定中配置其他绑定属性。

以下部分演示如何配置 svcutil.exe,以及如何使用 svcutil.exe 通过 Siebel 适配器生成 WCF 客户端代码。

为非默认绑定配置 svcutil.exe

若要将 svcutil.exe 配置为使用非默认绑定,必须创建 svcutil.exe 的本地副本,然后创建或修改 svcutil.exe.config 配置文件的本地副本。

  1. 创建一个文件夹,并将 svcutil.exe 复制到新文件夹中。 通常可以在 Windows SDK 安装位置找到 svcutil.exe,具体来说就是 C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin。

  2. 在新文件夹中创建名为 svcutil.exe.config 的文件。

  3. 将绑定和客户端终结点添加到 svcutil.exe.config 文件。 必须从新文件夹运行 svcutil.exe,以确保使用正确的配置。

    重要

    客户端终结点的 name 属性必须指定连接 URI 中使用的方案。 此值区分大小写。

    <configuration>
      <system.serviceModel>
        <client>
          <!-- the name should match the required scheme of the Metadata Exchange endpoint
          and the contract should be "IMetadataExchange" -->
          <endpoint name="siebel"
            binding="siebelBinding"
            bindingConfiguration="SiebelBinding"
            contract="IMetadataExchange" />
        </client>
        <bindings>
          <siebelBinding>
            <binding name="SiebelBinding" acceptCredentialsInUri="true" />
          </siebelBinding>
        </bindings>
    
      </system.serviceModel>
    
    </configuration>
    
    

注意

可以在绑定配置中设置 Siebel 适配器的任何绑定属性。

有关为 svcutil.exe 配置非默认绑定的详细信息,请参阅 上的 WCF 文档中 https://go.microsoft.com/fwlink/?LinkId=96077的“自定义安全元数据终结点”主题。

使用 svcutil.exe 创建 WCF 客户端类

若要使用 svcutil.exe 为 Siebel 适配器生成 WCF 客户端代码,必须提供一个连接 URI,用于指定 IMetadataExchange (mex) 终结点以及 svcutil.exe 生成代码的操作。 还必须在连接 URI 中指定 Siebel 系统的连接凭据。

注意

在将 svcutil.exe 与 Siebel 适配器一起使用之前,必须将其配置为使用非默认绑定;有关如何执行此操作的信息,请参阅 为 Siebel 适配器配置 svcutil.exe

按以下方式在 Siebel 适配器连接 URI 中指定 mex 终结点和目标操作:

  • 必须在query_string中包含“wsdl”参数。 如果它是query_string中的第一个参数,则会在问号 (?) 后面指定它。 如果不是第一个参数,则它前面应带有与号 (&) 。

  • 必须遵循一个或多个“op”参数的“wsdl”参数。 每个“op”参数前面都有一个与号 (&) ,并指定目标操作的节点 ID。

    以下两个示例演示如何使用 svcutil.exe 以各种操作为目标。

    此示例为 ACCOUNT\ACCOUNT 业务对象上的插入操作创建 WCF 客户端类。

    .\svcutil “siebel://Username=YourUserName;Password=YourPassword@Siebel_server:1234?SiebelEnterpriseServer=ent_server&SiebelObjectManager=obj_mgr&Language=enu&wsdl&op=http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert"

    此示例为 ACCOUNT\ACCOUNT 业务对象上的插入操作和删除操作创建 WCF 客户端类。

    .\svcutil “ siebel://Username=YourUserName;Password=YourPassword@Siebel_server:1234?SiebelEnterpriseServer=ent_server&SiebelObjectManager=obj_mgr&Language=enu&wsdl&op=http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert&op=http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Delete"

重要

必须在命令行上将连接 URI 置于引号中。 否则,svcutil.exe 尝试检索 Siebel 适配器不支持的操作的元数据。 此类尝试的结果未定义。

默认情况下,svcutil.exe 将生成的代码放在 output.cs 文件中;但是,可以通过设置命令行开关来更改输出文件的名称以及 svcutil.exe 使用的许多其他选项。

Svcutil.exe 不提供 (搜索操作的功能,例如,使用通配符) 。 必须为要面向的特定操作显式指定节点 ID。 不能指定仅引用类别的节点 ID。 有关 Siebel 适配器显示的节点 ID 的详细信息,请参阅 元数据节点 ID

添加适配器服务参考 Visual Studio 插件提供高级浏览和搜索功能,可大大简化 WCF 客户端类的生成。 有关添加适配器服务引用插件的详细信息,请参阅 为 Siebel 解决方案项目生成 WCF 客户端或 WCF 服务协定