BizTalk送信アダプタ経由でAPIサービスを呼び出す必要があります。 APIは認証/認可のために単にヘッダー内のトークンを使用します。私はHTTPClientのを使用してC#のコンソールアプリケーションでこれをテストして、それが正常に動作します:BizTalk 2016:APIトークンでHTTP送信アダプタを使用する方法
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アダプタを使用して、セキュリティのために 'Transport'を選択しようとしました(これはセキュリティが必要な(つまりセキュリティが必要です(?))) 'タブをクリックします。これは例外ですが、失敗します。System.IO.IOException:リモートパーティーがトランスポートストリームを閉じたため、認証に失敗しました。
私はこの特定のシナリオでグーグルを試みており、解決策を見つけることができません。私はthisの記事でOAUthの処理についての提案を見つけましたが、私はBizTalk 2016を使用しても、それほどシンプルなカスタムアセンブリを作成する必要があることに驚いています。
これはどのようにwcf - httpの送信アダプタで行うことができます知っていますか?