3 Réponses :


5
votes

Lorsque vous avez ajouté la référence de service, vous lui avez donné un nom de classe. Regardez dans votre explorateur de solution pour voir ce que vous avez appelé, puis vous devez instancier cette classe pour utiliser le service.


5 commentaires

C'est ce que j'ai essayé, mais je ne vois rien. J'ai ajouté l'URL pour le service dans la zone d'adresse ( Dev.VirtualEarth.net/ Webservices / V1 / Geocodeservice / ... ), puis j'ai tapé dans "Geocodeservice" dans la boîte d'espace de noms. Dans l'explorateur de solution, je vois des propriétés, des services, puis des références de service. Sous réserve des références, je vois le géocodeservice (identique à ce que j'ai saisi dans la zone d'espace de noms plus tôt). Mais je ne peux pas créer une instance de géocodeservice.


Vous devrez peut-être construire votre solution en premier. Ensuite, essayez une ligne simple telle que géocodeservice svc = nouveau géocodeservice () et voir si cela fonctionne.


De plus ... Si Geocodeservice est un espace de noms, vous devrez peut-être faire quelque chose comme Geocodeservice.geocodeService SVC = nouveau ..... () ou mettre l'espace de noms dans votre en utilisant Directive en haut du fichier source.


J'ai reconstruit la solution, mais cela ne fonctionne toujours pas. Dit "le type ou l'espace de noms géocodeservice ne peut pas être trouvé". J'utilise Visual Studio 2010 Express pour Windows Phone. Pour autant que je sache, c'est la seule version que vous pouvez utiliser pour développer des applications téléphoniques. Je ne peux donc pas imaginer que ce serait une limitation de Visual Studio Express.


Mon espace de noms était éteint et Intellisense ne l'a pas montré plus tôt parce que je n'avais pas construit la solution. Après avoir construit la solution, j'ai cliqué sur le service dans la solution Explorer et cliqué sur "Afficher sur le navigateur d'objets" et il m'a montré l'espace de nom correct.



6
votes

Après avoir ajouté une référence à l'aide de votre URL WSDL:

Sous Solution, sous des références de service, cliquez avec le bouton droit de la souris sur votre dossier de référence de service que vous souhaitez faire référence (exemple: com.gold.services.description1) P>

Sélectionnez Afficher sur Navigateur d'objets. Vous verrez le nom de la classe dans la fenêtre du navigateur d'objet qui s'ouvrira. (Exemple: goldweb.com.gold.services.description1) p>

Copiez et collez le nom de la classe dans votre code. P>

Exemple: P>

using GoldWeb.com.gold.services.description1;


1 commentaires

Merci beaucoup pour cette réponse! Cela me frustrait de toutes proportions à son importance.



0
votes

J'ai vu cela arriver, lorsqu'un service peut être ajouté à un projet et est en cours de retour référencé dans un autre projet. Par exemple, le projet principal a la référence de service, mais le code de la bibliothèque, c'est référence dans le projet principal, essaie d'instancier le service Web. Il s'agit d'une circulaire / d'une brouillon et vous ne pouvez pas ajouter l'espace de noms du projet principal dans le projet de bibliothèque, car le projet de bibliothèque se réfère déjà au projet principal. Je sais que cela semble évident, mais dans des projets vraiment gros, il est facile de se perdre à l'endroit où vous êtes en code.


0 commentaires