2011-05-02 6 views
2

J'ai actuellement un projet qui n'utilise pas Visual Studio, nous compilons avec ruby. Je veux consommer un service Web distant, mais je ne trouve personne qui le fasse par le biais du code. Je sais que c'est très facile avec Visual Studio, mais quelle est la syntaxe pour se connecter au service web?service web de référence SANS Visual Studio

+0

Ceci est déroutant. Pourquoi y a-t-il une étiquette Ruby? –

+0

@theTinMan - probablement "nous compilons avec ruby" –

+0

J'ai ajouté le tag parce qu'il veut appeler un service .net à partir d'une application Ruby. Probablement devrait avoir ajouté. Net aussi en fait ... – CodeRedick

Répondre

1

Vous pouvez le faire à la ligne de commande, avec wsdl.exe (référence web), wsewsdl3.exe (WSE3 référence web), ou svcutil.exe (référence de service WCF). Cela consomme le WSDL/MEX et génère votre couche proxy en tant que fichier de classe C#.

+0

Je viens de réaliser que c'était la bonne réponse. Merci. Je ne savais pas qu'une DLL entière devait être générée. – JohnathanKong

+0

@JohnathanKong ce n'est pas le cas; vous utilisez simplement ce fichier C# dans votre code –

0

En supposant que vous parlez d'un service Web ASMX:

VS crée un proxy local pour vous abordiez le service Web. En l'absence de cette façon la plus simple de parler à un service Web est en permettant HttpGet/HttpPost dans le web.config du service Web - vous pouvez simplement utiliser les requêtes HTTP standard:

<webServices> 
    <protocols> 
     <add name="HttpGet"/> 
    </protocols> 
</webServices> 

De cette façon, vous pouvez appeler le méthode Bar() sur votre service Web Foo en effectuant une requête HTTP GET à http://server/Foo.asmx/Bar.

+0

alors comment puis-je appeler le service? J'espérais faire la même chose que l'importation d'une DLL, ce qui fonctionne de la même manière avec Visual Studio. – JohnathanKong

+0

@JohnathanKong: Dans Visual Studio, lorsque vous ajoutez la référence, il fait plus que simplement ajouter une référence. Il génère un tas de code derrière les scènes qui encapsule les appels de méthode avec WebClient pour se connecter. Vous devez écrire du code pour vous connecter à ces URLs HTTP et traiter les résultats des données. – mellamokb

+0

C'est le code que je cherche. Y a-t-il beaucoup de code généré par Visual Studio? Je pensais que c'était comme Java où j'utiliserais quelque chose comme CreateService ("serviceURL") pour créer une instance du service et juste utiliser l'objet retourné pour appeler chaque méthode. – JohnathanKong

Questions connexes