2009-07-10 11 views
0

J'ai été jeté un projet que je dois dire que je n'ai pas la moindre idée par où commencer alors j'espère que quelqu'un peut me donner quelques conseils ici!Newb a besoin d'apprendre comment interroger le service web .asmx

Je travaille avec un intranet SharePoint et j'ai besoin d'interroger un service Web qui a été configuré. Pour reprendre les mots du gars qui a mis en place:

  1. Le résultat de cette requête sera un DataSet (cadre .Net)
  2. Dataset sera composé de 1 DataTable
  3. Datatable aura 3 colonnes : Nom, département et lien
  4. Le nom et le département doivent être affichés dans un champ GridView et le champ de lien en tant que propriété PostbackUrl sous-jacente pour le champ Nom.
  5. Juste au-dessus de la grille d'une rubrique
  6. Définissez la propriété EmptyDataText à: « Aucun enregistrement »

Maintenant, j'ai travaillé avec SQL et PHP, AJAX, etc, et ainsi de suite, mais je l'ai pas eu à utiliser .net ou quoi que ce soit, donc je suis vraiment pas sûr de la façon dont vous

a) Aller sur l'interrogation de cette Dataset b) Dans quel format il renvoie les données

Si je peux casser ces 2 questions que je suis prett heureux je peux mettre en forme le résultat et le rendre joli. Ma meilleure estimation est qu'elle renvoie un flux XML avec les colonnes dont il parle en tant qu'éléments dans le XML?

À la votre!

Répondre

1

Si vous utilisez Visual Studio, vous devriez pouvoir créer une petite application Web rapide que vous pouvez utiliser pour tester la connexion au service Web. Si le service Web a un emplacement publié, vous pouvez simplement ajouter une nouvelle référence Web à votre projet et indiquer l'URL de l'ASMX auquel vous vous connectez.

Pour ce faire:

  1. Faites un clic droit sur votre projet Web
  2. Sélectionnez "Ajouter une référence Web"
  3. Entrez l'URL de votre service Web que vous connectez, et trouvez le service Web définition que vous voulez.
  4. Nommez la référence
  5. Appuyez sur le bouton "Ajouter une référence".

Vous pouvez référencer cette référence web dans votre code en utilisant le nom que vous avez donné à l'étape 4.

MyWebServiceName ws = new MyWebServiceName(); 
ws.WebServiceMethodName(query); 

Cela devrait au moins vous aider à commencer à obtenir les informations du webservice.

0

Vous ne recherchez pas vraiment les ensembles de données de la même façon que vous interrogez une base de données car ce sont des objets avec des collections d'objets. Au lieu de cela, vous parcourez des collections d'objets en extrayant ce que vous voulez, puis en convertissant cette sortie en un type de données approprié. 'pour chaque' boucles sont une option.

le premier lien google pour 'datatable ado.net' .... http://msdn.microsoft.com/en-us/magazine/cc163709.aspx

a ce que vous avez besoin à mi-chemin vers le bas. Évidemment, vous ne vous souciez pas des parties de connexion ado.net.

Ce fragment de code est peut-être plus utile - plus court et affiche clairement l'itération.

http://www.eggheadcafe.com/articles/20030903.asp

Alternativley,

compte tenu des langues que vous énumérez, vous pouvez demander un format de données plus universel ... tels que XML que vous suggérez .... ce serait plus de format indépendant de la langue à utiliser.

Il est facile de publier une nouvelle méthode de service Web qui retournera le même jeu de données qu'un document XML dans un format de chaîne ... utilisez simplement la méthode to xml du jeu de données, placez-le dans un Xdocument et .toString() il ...

+0

OK, ça a du sens, et d'après les apparences, le webservice renvoie en effet du XML, mais ma requête principale est avant tout: Comment diable puis-je interroger le webservice et voir ce qu'il renvoie? Si je peux juste obtenir une réponse de cela, je devrais être en mesure de formater la réponse. – MrFidge

+0

Je n'ai pas regardé comment un ensemble de données est formaté comme envoyé ... Les services web asmx ont tendance à tout transmettre en XML (vous pouvez le changer avec quelques options). les objets envoyés sont sérialisés dans ceci. Si vous utilisez .Net à l'autre extrémité, les objets seront automatiquement désérialisés dans des ensembles de données pour vous. Peut-être que vous pouvez travailler avec le XMl d'ici - je n'ai jamais essayé mais je ne vois pas pourquoi pas. –

0

Pour un outil de débogage qui vous aide à tester le service Web et à voir ce qui est retourné, jetez un oeil à STORM.Il existe également une version WCF si vous utilisez un service WCF.

J'ai trouvé cet outil inestimable pour voir ce que fait un service web. Le seul problème que j'ai eu, c'est que cela peut être un peu difficile - votre service Web doit se conformer aux normes ou bien il va barf.

Questions connexes