步骤 2:配置双向 WCF-WebHttp 发送端口
在此步骤中,将配置双向 WCF-WebHttp 发送端口,以调用 REST 资源 URL 来检索美国航空公司计划中的延迟。
配置 WCF-WebHttp 发送端口的步骤
在 BizTalk Server 管理控制台的 BizTalk 应用程序 1 节点下,右键单击“发送端口”,指向“新建”,然后单击“静态 Solicit-Response 发送端口”。
在“常规”选项卡上,执行下列操作:
使用此选项 要执行此操作 名称 键入 SendPortRESTAzureMarketPlace。 类型 选择 “WCF-WebHttp”。 发送处理程序 选择“BizTalkServerApplication” 。 发送管道 选择“ PassThruTransmit”。 接收管道 选择“ PassThruReceive”。 单击 “配置” 。
在 “WCF-WebHttp 传输属性 ”对话框中,执行以下操作:
在“ 常规 ”选项卡上,对于“ 地址 (URI) ”,输入
https://api.datamarket.azure.com/oakleaf/US_Air_Carrier_Flight_Delays_Incr/
。在“常规”选项卡上,对于 “HTTP 方法和 URL 映射”,输入以下内容:
<BtsHttpUrlMapping> <Operation Method="GET" Url="/On_Time_Performance" /> </BtsHttpUrlMapping>
此处, GET 是 HTTP 谓词, On_Time_Performance 追加到基 URI,以构造唯一的资源 URL 以检索航班延误。
提示
在 URL 字段中,必须“转义”任何特殊的 XML 字符。 这可确保端口处理并保留特殊 XML 字符。 例如,
&
特殊字符必须转义为&
。原名称:
Url=”/Customer?{ID}& group=Location”
收件人:
Url=”/Customer?{ID}&group=Location”
在“ 绑定 ”选项卡上的“ 最大接收消息大小” 字段中,选择一个足够大的值。 这是因为,包含航班状态的响应消息通常都相当大,并且可能超出指定的默认消息大小。
在 “安全” 选项卡上,执行以下操作:
对于 “安全模式”,选择“ 传输”。
对于 “传输客户端凭据类型”,选择“ 基本”。
在“ 用户名凭据 ”框下,选择“ 编辑”。
在“ 客户端凭据 ”框中,选择“ 不使用 Single-Sign 启用”。
输入登录 Microsoft Azure 市场后从“我的帐户”选项卡检索到的用户名和密码。
凭据将针对 客户 ID (用户名) 和 主帐户密钥 (密码) 标签列出。
选择“确定”。
在“ 消息 ”选项卡上,对于 “取消谓词正文”,指定要从请求消息中删除消息有效负载的谓词。 对于本教程,请将此指定为
GET
。 原因如下:美国航空公司航班延误 REST 终结点上的 GET 方法调用不需要消息有效负载;REST 资源 URL 足以检索信息。 但是,若要触发进行 REST 调用的 WCF-WebHttp 发送端口,请删除具有某些消息正文的虚拟消息。 该发送端口不得将此虚拟消息发送到 REST 终结点,因为如前所述,该终结点不需要消息负载。 因此,在调用 REST 终结点之前,适配器仅为在“ 取消谓词正文 ”文本框中指定的谓词从虚拟消息中去除消息有效负载。单击“ 确定” ,直到返回“发送端口属性”对话框。 在左窗格中,单击“ 筛选器”,并指定筛选器以使用在 步骤 1:配置文件接收位置中创建的接收端口接收的所有消息。
参数 值 属性 设置为 BTS。ReceivePortName “运算符” 设置为 == 值 设置为 ReceivePortRestAzureMarketPlace
单击“确定”。