动态CRM社交网络加速器协议错误

我想实现我的Dynamics CRM部署微软的社交网络解决方案加速器。 我已经解决了一些问题已经代码,但这最后一个有我难住了。 社交网络加速器(以下简称SNA)使用下面的代码从Twitter获取数据:

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请求是永远不会得到那么远的事实造成的。 事情是造成这种拖延在源头。 任何人有什么建议吗?

--------------解决方案-------------

我已经确认这是实际上是代理问题。 我不知道我完全理解为什么这是一个问题,但我想这个小补丁和它的工作:

case "GET":
WebClient wCli = new WebClient();
if (_creds != null)
{
wCli.Credentials = _creds;
}
//[TPL] Configure web proxy
IWebProxy proxy = new WebProxy("sbs", 8080);
proxy.Credentials = new NetworkCredential(@"DOMAIN\User", "password");
wCli.Proxy = proxy;
try
{

显然,这需要以某种方式这样配置的,但它已被证明的概念。

分类:社交网络 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.445 (s). 10 q(s)