我正在尝试在我的Bot应用程序中调用一个restful API,当我在Web应用程序中测试时,相同的代码正在工作,并且返回字符串类型的结果作为响应。 我使用Web-Client和UploadString()来获取结果:
public virtual async Task GetOrderDetailforUser(IDialogContext context,
IAwaitable<IMessageActivity> result)
{
var serializedData = JsonConvert.SerializeObject(input);
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
client.Headers.Add("Authorization", "Basic <authentication-encoded>");
var remoteResponse = client.UploadString(new Uri(stringURL), "POST", serializedData);
var desearilaizeData = JsonConvert.DeserializeObject<rootObjOutput>(remoteResponse);
}
调试时,在remoteResponse中,我得到一个例外,如下所示:
System.Net.WebException:远程服务器返回错误:(500)内部服务器错误。 在System.Net.WebClient.UploadDataInternal(Uri地址,字符串方法,字节[]数据,WebRequest和请求) 在System.Net.WebClient.UploadString(Uri地址,String方法,字符串数据) at MyBotApp.StateDialogTest.d__15.MoveNext()in ..