如何使用 Windows Sharepoint Services 上下文属性配置发送端口

本主题介绍如何使用 BizTalk 业务流程中的 Windows SharePoint Services 上下文属性在运行时配置 Windows Sharepoint Services 发送端口。 这一机制还可用于配置 Windows SharePoint Services 动态和后期绑定发送端口。 动态发送端口的配置属性是在运行时通过业务流程设置的。 在“Windows SharePoint Services传输属性”对话框中公开的适配器属性也可以应用于动态或后期绑定发送端口。 若要使用 Windows Sharepoint Services 适配器上下文属性为动态或后期绑定发送端口设置配置属性,请执行以下步骤:

使用 Windows Sharepoint Services 适配器上下文属性为发送端口设置配置属性

  1. 对于动态发送端口,若要创建动态单向发送端口,请按照 如何创建发送端口主题中的步骤操作。

  2. 在业务流程的“构造消息”形状中使用“消息分配”形状来设置出站消息的配置属性。 有关如何为出站消息设置配置属性的示例,请参阅 演练:模块 3 - 从业务流程访问 SharePoint 属性。 本主题的 构造新消息 部分说明了如何设置出站消息的配置属性。 下表列出了与可在“Windows SharePoint Services传输属性”对话框中设置的属性关联的适配器上下文属性:

    Transport 属性 适配器上下文属性 数据类型 注释
    适配器 Web Services 端口 WSS.ConfigAdapterWSPort int 有效值为从 1 到 65535。

    默认值为 80
    超时 WSS.ConfigTimeout int 有效值为 1000 到 2147483647

    默认值为 100000

    指定值 0 表示无限超时。
    目标文件夹 URL NA NA 对于动态端口,可通过在业务流程中使用表达式形状设置动态端口的 Microsoft.XLANGs.BaseTypes.Address 属性间接设置。 对于后期绑定端口,由于此属性始终被物理发送端口值覆盖,因此无法在运行时设置。
    文件名 WSS.Filename 字符串 支持使用可在传输属性中使用的除 %Filename%%Extension% 宏之外的所有文件名宏。
    命名空间别名 WSS.ConfigNamespaceAliases 字符串 如果在运行时为消息设置的命名空间别名与为消息路由到的发送端口设置的命名空间别名完全匹配,则这些命名空间将合并,并且会发生路由错误。 若要避免此问题,请确保指定的命名空间别名不相同。 例如,如果在业务流程中使用以下表达式来设置消息的命名空间别名:

    Message_Task(WSS.ConfigNamespaceAliases)= "orchns='http://OrderProcess.PurchaseOrder'";

    如果此消息路由到指定 命名空间别名 属性的以下值的发送端口,则为 :

    orchns='http://OrderProcess.PurchaseOrder'

    那么当 BizTalk Server 尝试将消息路由到此发送端口时便会发生错误。 若要解决此问题,可以为发送端口的 命名空间别名 属性指定以下值:

    orchns2='http://OrderProcess.PurchaseOrder'
    Overwrite WSS.ConfigOverwrite 字符串 有效值为:

    - “是”

    - “no”

    - “rename”
    SharePoint 站点 URL WSS.InListUrl 字符串 对于动态端口,可通过在业务流程中使用表达式形状设置动态端口的 Microsoft.XLANGs.BaseTypes.Address 属性间接设置。 对于后期绑定端口,由于此属性始终被物理发送端口值覆盖,因此无法在运行时设置。
    Microsoft Office 集成 WSS.ConfigOfficeIntegration 字符串 有效值为:

    - “是”

    - “no”

    - “yesformlibrary”

    - “可选”
    模板文档库 WSS.ConfigTemplatesDocLib 字符串
    模板后备文档库 WSS.ConfigCustomTemplatesDocLib 字符串
    模板后备命名空间栏 WSS.ConfigCustomTemplatesNamespaceCol 字符串
    模板命名空间栏 WSS.ConfigTemplatesNamespaceCol 字符串
    n WSS.ConfigPropertiesXml

    列名在 <PropertyNamex>columnname</PropertyNamex> 字段中设置。
    字符串
    n WSS.ConfigPropertiesXml

    列值在 <PropertySourcex>columnvalue</PropertySourcex> 字段中设置。
    字符串 支持使用可在传输属性中使用的除 %Filename%%Extension% 宏之外的所有文件名宏。

    注意

    为上下文属性提供的值都是区分大小写的。 在使用上下文属性设置动态端口的配置值时,需确保使用正确的大小写格式,否则,如果 BizTalk 尝试将文档路由到指定的发送端口,将会出现错误。

  3. 使用业务流程中的表达式形状设置动态发送端口的 Microsoft.XLANGs.BaseTypes.Address 属性。 此属性用于指定动态发送端口将消息路由到的 URI。 有关如何为动态发送端口设置 Microsoft.XLANGs.BaseTypes.Address 属性的示例,请参阅主题演练:模块 3 - 从业务流程访问 SharePoint 属性创建表达式部分。 有关 Windows Sharepoint Services 适配器上下文属性的详细信息,请参阅 Windows SharePoint Services 适配器属性参考

    另外,也可以在业务流程中动态设置后期绑定 Windows Sharepoint Services 发送端口的某些属性。 这样,Windows SharePoint Services 端口将配置两次,一次是通过 Windows SharePoint Services 上下文属性,一次是通过“Windows SharePoint Services 传输属性”对话框。 默认情况下,在“Windows SharePoint Services 传输属性”对话框中指定的配置优先于在上下文属性中指定的配置属性。 若要使用在上下文属性中指定的配置,请执行以下操作:

    1. 若要创建静态单向发送端口,请按照 如何创建发送端口主题中的步骤操作。

    2. 设置发送端口的属性时,通过为 Sharepoint 网站 URL目标文件夹 URL 属性输入适当的值来定义发送端口的 URI。

    3. 如果要使用由上下文属性 WSS 定义的值,请将 Overwrite 属性的值设置为 Orchestration。业务流程中的 ConfigOverwrite

    4. 如果要使用上下文属性 WSS 定义的值,请将 Microsoft Office Integration 属性设置为 Orchestration。业务流程中的 ConfigOfficeIntegration

    5. 如果要在业务流程中使用上下文属性设置这些值,则为使用整数数据类型的任何发送端口属性输入值 - 1

    6. 对于使用字符串数据类型的任何发送端口属性,若要使用业务流程中的上下文属性设置它们的值,请将其留空。 这不适用于 Sharepoint 网站 URL目标文件夹 URL 属性。 必须在 Windows Sharepoint Services 传输属性 对话框中指定这些属性。

    7. 在业务流程的“构造消息”形状中使用“消息分配”形状来设置出站消息的配置属性。 有关如何为出站消息设置配置属性的示例,请参阅 演练:模块 3 - 从业务流程访问 SharePoint 属性。 本主题的 构造新消息 部分说明了如何设置出站消息的配置属性。

    8. 值配置为 -1(使用整数数据类型的属性)、“业务流程”(下拉枚举属性)或留空(使用字符串数据类型的属性)的任何发送端口属性都将在运行时使用业务流程中指定的上下文属性进行设置。

    如果使用 Windows SharePoint Services 适配器接收带有嵌入附件的 InfoPath 表单,然后将 InfoPath 表单发送到 SharePoint 文档库,请完成以下步骤以保留表单中的任何 InfoPath 处理指令:

为具有 BizTalk Server 处理的嵌入附件的 InfoPath 表单保留 InfoPath 处理指令

  1. 如果在业务流程中使用映射将数据从一个 InfoPath 表单映射到另一个 InfoPath 窗体,请确保已将映射中的 复制处理指令 (API) 属性设置为 “是”。 此参数在地图的“网格属性”页的“自定义标头”部分下设置。

  2. 如果使用的不是业务流程中的映射,请在消息赋值形状中使用以下表达式来更新输出消息:

    NewMessage(XMLNORM.ProcessingInstructionOption) = 1;  
    NewMessage(XMLNORM.ProcessingInstruction) = "<?mso-infoPath-file-attachment-present?>"  
    

    在上面的表达式中, NewMessage 是将处理指令添加到的输出消息。

另请参阅

如何创建发送端口