2009-06-02 10 views
4

J'écris une très petite application pour créer et tester caml querys pour sharepoint. Lors de l'exécution de la méthode GetListItems, je reçois l'exception suivante:Sharepoint Lists.asmx: La requête a échoué avec une réponse vide

System.Net.WebException: "The request failed with an empty response." 

Le service est situé sur une adresse https (ssl). Je configure le service comme suit;

result = new ListService.Lists(); 
result.Url = siteUrl; 
result.Credentials = new NetworkCredential(txtUserName.Text, txtPassword.Text, txtDomain.Text); 

J'appelle la méthode GetListItems() comme suit; J'essaie de savoir pourquoi je reçois le message de résultat vide. J'ai également essayé d'autres méthodes (c'est-à-dire GetListCollection) mais en vain. Au début, je pensais que le problème pourrait être l'URL (http au lieu de https), mais ce n'est pas le cas. J'ai même vérifié avec wireshark pour m'assurer que la bonne URL est utilisée. Est-ce que quelqu'un a rencontré ce problème et comment l'avez-vous résolu?

+0

Je n'ai pas résolu ce problème auparavant mais je vous recommande de faire quelques choses: 1. Testez avec GetListCollection() car il ne prend aucun paramètre ... parfois la sémantique des paramètres dans SharePoint est obscure et sous-documentée 2. Assurez-vous d'utiliser Fiddler2 sur votre ordinateur local pour capturer le trafic réseau de manière transparente. Il peut être configuré pour inspecter le trafic HTTPS. 3. Améliorez les niveaux de consignation SharePoint 4. Consultez les journaux d'accès et d'erreurs d'IIS pour voir si vous y voyez quelque chose –

+0

@Mark; J'ai testé le GetListCollection() mais cela ne m'a pas donné autre chose qu'un résultat vide. – Obelix

Répondre

6

OMG ...! Je l'ai résolu après tout. Après avoir posté cette question, j'ai essayé d'obtenir le wsdl pour vérifier le service lui-même. Quand je l'ai vérifié via Internet Explorer tout allait bien. Quand j'ai essayé de l'ajouter comme référence dans VS, ça a mal tourné. Donc, quelque chose n'allait pas. Puis il m'est apparu qu'il y avait un nouvel écran de connexion pour notre réseau d'entreprise. Après quelques appels rapides, j'ai appris quel était le problème; IT Services a installé un serveur ISA 2006 et a «oublié» de me le dire. Le serveur ISA bloquait tout le trafic sur le port HTTPS (443) pour les programmes et/ou clients inconnus. C'est pourquoi Internet Explorer m'a présenté un nouveau dialogue de connexion brillant.

+4

mais avez-vous découvert comment se connecter aux services Web via ISA? – SteveCl

Questions connexes