如何配置 HTTP 接收位置

您可以通过编程方式或使用 BizTalk Server 管理控制台来设置 HTTP 接收位置适配器变量。 如果未设置接收位置的属性,则使用 BizTalk Server 管理控制台中设置的默认接收处理程序值。

注意

在执行以下过程之前,您必须已添加接收端口。 有关详细信息,请参阅 如何创建接收端口

如何通过编程方式配置 HTTP 接收位置

HTTP 适配器将其配置信息存储在 BizTalk 管理数据库中, (也称为配置数据库) 。 配置信息存储在自定义 XML 属性包中。

BizTalk 资源管理器对象模型公开 IReceiveLocation 配置接口,该接口具有 TransportTypeData 读/写属性。 此属性以名称-值对 XML 字符串的形式接受 HTTP 接收位置配置属性包。

不需要设置 IReceiveLocationTransportTypeData 属性。 如果未设置该属性,则使用 HTTP 接收位置配置的默认值。 下表列出了这些默认值,还列出了可在 BizTalk 浏览器对象模型中为 HTTP 接收位置设置的配置属性:

属性名称 类型 说明 限制 注释
ResponseContentType 字符串 HTTP 适配器通过此接收位置发回客户端的 HTTP 响应消息的内容类型。 此属性仅对请求响应接收端口有效;对于单向接收端口,会将其忽略。 字符串

最小长度: 0

最大长度:256
默认值:Text/XML
回送 Boolean 指定此位置上接收的请求消息是路由到发送端口,还是路由回该接收位置以作为响应发送。 此属性仅对请求响应接收端口有效。 对于单向接收端口,会将其忽略。 默认值:
ReturnCorrelationHandle Boolean 指定在提交成功时 HTTP 适配器通过 HTTP 响应向客户端发送的已提交消息的相关标记。 此属性仅对单向接收端口有效;对于请求响应接收端口,会将其忽略。 默认值:
SuspendFailedRequests Boolean 指定是否挂起失败的 HTTP 请求。 值为 True 指示将挂起失败的请求,并且对于单向接收端口,将向客户端发送“已接受”状态代码 (202),而对于双向接收端口,将向客户端发送“错误”状态代码 (500)。 默认值:
UseSSO Boolean 指定 HTTP 适配器是否会向此接收位置收到的消息颁发 SSO 票证。 默认值:

用于设置这些属性的 XML 字符串的格式如下所示:

<CustomProps>  
   <UseSSO vt="11">-1</UseSSO>  
   <SuspendFailedRequests vt="11">-1</SuspendFailedRequests>  
   <ReturnCorrelationHandle vt="11">-1</ReturnCorrelationHandle>  
   <ResponseContentType vt="8">text/xml</ResponseContentType>  
   <LoopBack vt="11">-1</LoopBack>  
</CustomProps>  

如何使用 BizTalk Server 管理控制台配置 HTTP 接收位置

使用以下过程可以通过 BizTalk Server 管理控制台配置接收位置。

配置 HTTP 接收位置的变量

  1. 配置 Internet 信息服务 (IIS) 以使用 HTTP 接收位置。 有关配置 IIS 的说明,请参阅 如何为 HTTP 接收位置配置 IIS

  2. 在BizTalk Server管理控制台中,依次展开BizTalk Server管理BizTalk 组应用程序,然后展开要在其中创建接收位置的应用程序。

  3. 在左窗格中,单击“ 接收端口” 节点。 随后,在右窗格中右键单击与现有接收位置关联的接收端口或要与新接收位置关联的接收端口,然后单击“属性”

  4. 在“ 接收端口属性 ”对话框的左窗格中,选择“ 接收位置”,然后在右窗格中双击现有接收位置或单击“ 新建 ”以创建新的接收位置。

  5. 在“接收位置属性”对话框的“类型”旁边的“传输”部分中,从下拉列表中选择“HTTP”,然后单击“配置”。

  6. 在“ HTTP 传输属性 ”对话框中,执行以下操作:

    使用此选项 要执行此操作
    虚拟目录和 ISAPI 扩展 指定虚拟目录的名称,在该目录中,可发布 HTTP/HTTPS 接收位置所接收的消息。 虚拟目录包含接收位置 DLL 的名称和可选查询字符串。 虚拟目录名称的示例如下:

    /<virtual directory>/BTSHTTPReceive.dll

    /<virtual directory>/BTSHTTPReceive.dll?Purchase%20Order

    此位置不能包含多个 BTSHTTPReceive.dll ISAPI 扩展(包括所有子文件夹)。

    类型: 字符串

    最大长度: 256 注意: 发送端口或接收位置的 URI 不能超过 256 个字符。
    公用地址 指定此接收位置的完全限定 URI。 此属性的值是服务器名和虚拟目录的组合。 BizTalk 消息引擎将向外部合作伙伴公开此地址。 指定的 URI 应指定在向 BizTalk Server 发送消息时贸易合作伙伴要连接到的公共网站 URL。

    此信息是可选的,BizTalk Server 并不使用。 管理员可使用此参数记录与接收位置相关联的公共 URL。

    类型: 字符串

    最小长度: 0

    最大长度:256
    返回内容类型 指定接收位置发回客户端的 HTTP 响应消息的内容类型。 此属性仅对请求响应接收位置有效。

    默认值: text/xml

    类型: 字符串

    最小长度: 0

    最大长度:256
    Loopback 定义此位置上接收的请求消息是路由到发送端口,还是路由回此接收位置以作为响应发送。 此属性仅对请求响应接收位置有效。

    默认值:

    类型: 布尔
    成功后返回相关句柄(仅用于单向端口) 定义在操作成功时,接收位置将向客户端发送已提交消息在 HTTP 响应上的相关标记。 此属性仅对单向接收位置有效。

    默认值:

    类型: 布尔
    使用单一登录 表示使用企业单一登录。

    默认值:

    类型:布尔值注意:如果此选项已启用,则还必须在 SSO 系统级别启用“允许票证”选项。 可以在 SSO 管理 MMC 界面中提供的 SSO 系统属性对话框的“选项”选项卡上配置“允许票证选项。 如果此选项已启用,并且 SSO 系统级别的“允许票证”选项未启用,则此接收位置接收的任何消息都将暂停。
    挂起失败的请求 指示是否挂起入站处理失败的 HTTP 请求。

    值为 False 表示将放弃失败的请求并向客户端发送错误状态代码(401 或 500)。

    值为 True 指示挂起失败的请求,并将“已接受”状态代码 (200) 发送到客户端,以便进行单向接收端口,或者将“错误”状态代码 (500) 发送到客户端,以便使用双向接收端口。

    默认值:

    类型: 布尔
  7. 单击“确定”以保存设置。

  8. 在“接收位置属性” 对话框中输入相应的值,完成对接收位置的配置,然后单击“确定” 保存设置。 有关“接收位置属性” 对话框的信息,请参阅 如何创建接收位置

    当 HTTP 客户端调用 HTTP 位置时,HTTP 适配器将使用匿名、基本、摘要或 Windows 集成身份验证来对 HTTP 客户端进行验证。 如果用户通过验证,则将用户上下文传递到接收处理程序。

注意

任何会导致 SOAP 与 HTTP 共享同一进程的 IIS 配置都是无效的。 对于每个进程,只能有一个独立的接收器。