首页 > 解决方案 > 动态 BizTalk 端口

问题描述

我试图在运行时定义动态 WCF-WebHttp 发送端口的属性。

我想用特定的令牌达到终点:

我的消息分配形状中的代码已经膨胀成这样:

终点是 Traxo 的 REST API 上的 GET 方法。https://api.traxo.com/v2/me

Token = "1234TOKEN1234";

Input2 = Input;

DYNAMIC_OAUTH_PORT(Microsoft.XLANGs.BaseTypes.Address)="https://api.traxo.com/v2/me";
DYNAMIC_OAUTH_PORT(Microsoft.XLANGs.BaseTypes.TransportType) = "WCF-WebHttp";

Input2(WCF.BindingType)="WCF-WebHttp";
Input2(WCF.Action)="https://api.traxo.com/v2/me";
Input2(WCF.HttpHeaders)= "Content-Type: application/json" + "\r\n" + "Authorization: Bearer " + Token + "\r\n";
Input2(WCF.SuppressMessageBodyForHttpVerbs)="GET"; 
Input2(WCF.SecurityMode)="Transport"; 
Input2(WCF.MessageClientCredentialType)="Transport"; 
Input2(WCF.HttpMethodAndUrl)="GET";
Input2(WCF.TransportClientCredentialType)="Windows";

我遇到以下错误:

System.ArgumentException:提供的 URI 方案“https”无效;预期的“http”。参数名称:通过 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)

我试图尽可能准确地动态模拟正常工作的静态发送端口定义。

标签: biztalk

解决方案


我最终所做的是定义了一个静态端口,并使用了一个自定义管道组件,该组件使用 execute 方法来更新消息属性。


推荐阅读