- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要通过 BizTalk 发送适配器调用 REST API 服务。 API 仅使用 header 中的 token 进行身份验证/授权。我已经使用 httpclient 在 C# 控制台应用程序中对此进行了测试,它工作正常:
string apiUrl = "https://api.site.com/endpoint/<method>?";
string dateFormat = "dateFormat = 2017-05-01T00:00:00";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("token", "<token>");
client.DefaultRequestHeaders.Add("Accept", "application/json");
string finalurl = apiUrl + dateFormat;
HttpResponseMessage resp = await client.GetAsync(finalurl);
if (resp.IsSuccessStatusCode)
{
string result = await resp.Content.ReadAsStringAsync();
var rootresult = JsonConvert.DeserializeObject<jobList>(result);
return rootresult;
}
else
{
return null;
}
}
但是我想使用 BizTalk 进行调用并处理响应。
我尝试使用 wcf-http 适配器,选择“传输”以确保安全(它是一个 https 站点,因此需要安全性(?)),没有指定凭据类型,并将带有 token 的 header 放置在“消息”中适配器配置选项卡。但这会失败,但出现以下异常:System.IO.IOException:身份验证失败,因为远程方已关闭传输流。
我已经尝试用谷歌搜索这个特定场景,但找不到解决方案。我确实找到了this文章提供了 OAUth 处理的建议,但令我惊讶的是,即使使用 BizTalk 2016,我仍然必须为如此简单的事情创建自定义程序集。
有谁知道如何在 wcf-http 发送适配器中完成此操作?
最佳答案
是的,您必须编写自定义端点行为并将其添加到发送端口。事实上,使用 WCF-WebHttp 适配器甚至 Basic Auth doesn't work所以我目前正在编写一个端点行为来解决这个问题。
OAuth 的问题之一是,没有一个每个人都遵循的标准,到目前为止,我不得不编写 2 种不同的 OAuth 行为,因为它们的实现方式不同。一个使用 secret 和哈希时间戳来获取 token ,另一个使用基本身份验证来获取 token 。此外,其中之一您可以使用相同的信用获得多个 token ,而另一个将立即使旧 token 过期。
我必须编写自定义行为的另一件事是端点需要哪个版本的 TLS,因为默认情况下 BizTalk 2013 R2 会尝试 TLS 1.0,如果网站不允许,则会失败。
您可以通过投票 Add support for OAuth 2.0 / OpenID Connect authentication 向 Microsoft 反馈您希望拥有此功能。
也许有人会开源他们的解决方案。查看公告:BizTalk Server embrace open source!
关于商务通 2016 : How to use HTTP Send adapter with API token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46370226/
我一直在对支付方式进行大量研究,看起来 Drupal Commerce 确实试图将网站管理员/开发人员推向 Paypal。有几个选项似乎可行,但在我说之前,这些是我的客户的基本必需品: 现场付款。 国
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我是使用 Spree 的新手我只是在玩 3.0 稳定版。 我想使用名为“高级 REST 客户端”的 chrome 应用程序通过 API(或类似的东西)将用户帐户登录到商店,然后访问商店并查看在那里登录
使用 rc run 将 Reaction Commerce 从 1.4.x 升级到 1.5.x 我在 Firefox 中收到此错误: TypeError: require(...).__SECRET_
我想使用 Google Directions API 为一家处理冬季扫雪机和夏季景观美化的公司开发路线规划软件。客户的要求之一是他能够计算具有至少 30 个(最好更多)航点的路线。根据文档(下面引用)
我是一名优秀的程序员,十分优秀!