J'essaie d'implémenter l'accélérateur de solution de réseautage social de Microsoft sur mon déploiement de Dynamics CRM. J'ai déjà résolu un certain nombre de problèmes avec le code, mais ce dernier m'a bloqué. L'accélérateur réseau social (ci-après dénommé SNA) utilise le code suivant pour obtenir des données de Twitter:Erreur de protocole de l'accélérateur de réseau social 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;
}
Évidemment, il y a beaucoup de configuration avant d'appeler ce code.
- _creds contient des informations d'identification Twitter valides.
- _url contient « http://twitter.com/statuses/replies.xml?since_id=1&page=1 »
Quand je lance ce code dans Visual Studio, ou à l'intérieur d'un harnais de test en dehors de Dynamics CRM, il fonctionne comme prévu et renvoie une chaîne contenant du XML retourné de Twitter. Mais, quand je l'exécute dans mon système CRM (dans le cadre du workflow), je reçois une 'erreur de protocole' au point où le code exécute wCli.OpenRead (_URL). J'ai retracé l'exécution et dans les deux cas, la même URL et les informations d'identification Twitter sont utilisés, en dehors du tout système CRM fonctionne, à l'intérieur CRM, je reçois l'erreur:
{"The remote server returned an error: (403) Forbidden."}
Je pense que cela pourrait être causé par le fait que je cours derrière un serveur proxy web ISA, cependant la console de journalisation dans ISA suggère que la requête web ne va jamais aussi loin. Quelque chose provoque l'arrêt à la source. Quelqu'un a-t-il des suggestions?