0
我正試圖在Dynamics CRM部署上實施Microsoft的社交網絡解決方案加速器。我已經用代碼解決了一些問題,但最後一個問題讓我難堪。社交網絡加速器(以下簡稱SNA)使用下面的代碼從Twitter獲取數據:Dynamics CRM社交網絡加速器協議錯誤
case "GET":
WebClient wCli = new WebClient();
if (_creds != null)
{
wCli.Credentials = _creds;
}
try
{
using (Stream str = wCli.OpenRead(_URL))
{
using (StreamReader reader = new StreamReader(str))
{
responseXml = reader.ReadToEnd();
}
}
}
catch (WebException ex)
{
if (ex.Response is HttpWebResponse)
{
if ((ex.Response as HttpWebResponse).StatusCode == HttpStatusCode.NotFound)
{
return null;
}
}
throw ex;
}
顯然有很多設置的調用此代碼之前。
- _creds包含有效的Twitter用戶憑證。
- _url包含「http://twitter.com/statuses/replies.xml?since_id=1&page=1」
當我運行Visual Studio中的代碼,或動態CRM以外的測試工具中,它工作正常,並返回從Twitter返回一個包含XML的字符串。
但是,當我在我的CRM系統(作爲工作流程的一部分)內運行它時,我在代碼執行wCli.OpenRead(_URL)的位置收到'協議錯誤'。我跟蹤執行,並在這兩種情況下相同的URL和Twitter憑據使用CRM系統一切正常,內外部的CRM,我得到的錯誤:
{"The remote server returned an error: (403) Forbidden."}
我懷疑這可能是由以下事實引起的我在ISA Web代理服務器後面運行,但是ISA中的日誌控制檯表明Web請求永遠不會那麼遠。有些東西導致這種情況在源頭停頓。任何人有任何建議?