2010-11-23 5 views
1

Je suis assez familier avec ASP.NET MVC et je sais que la méthode d'un contrôleur peut répondre avec XML et JSON indépendamment d'autres choses (c'est-à-dire se comporter comme un webservice reposant). Je me demande simplement si je peux faire qu'une méthode de contrôleur se comporte comme un service Web de savon qui répond avec une réponse de SOAP XML à une demande de POST? Peut-être que c'est juste question de répondre avec XML, mais ce serait plus comme un service web reposant. Je souhaite éviter d'implémenter un projet de service Web distinct si possible. Toute rétroaction serait très appréciée. Merci.asp.net mvc controller method -> service web soap

Christian

+0

bien d'abord, laissez-moi vous demander ceci - * pourquoi * voulez-vous retourner SOAP? Est-ce pour un client spécifique? Votre code interne (JS/AJAX) ne devrait pas fonctionner avec SOAP (ou même XML), vous devriez traiter avec JSON. – RPM1984

+0

malheureusement c'est ce que le client veut. J'utiliserais json/reposful moi-même. – cs0815

Répondre

1

Vous n'avez pas besoin de mettre en œuvre un projet de service Web distinct. Tout ce dont vous avez besoin est d'ajouter un point de terminaison de service WCF (fichier .svc) à votre projet Web actuel. De plus, vous dites que vous attendez une réponse SOAP après une requête GET, ce qui, bien sûr, n'a pas beaucoup de sens, car dans la spécification SOAP, les requêtes doivent être POST.

+0

Désolé pour le bit "GET". Tu as raison, bien sûr. – cs0815

+0

Darin pourriez-vous s'il vous plaît fournir un lien ou quelque chose w.r.t. au bit .svc? Merci. – cs0815

+0

Faites un clic droit sur votre projet Web, Ajouter un nouvel élément, Service WCF. Visual Studio s'occupera du reste. –

0

Je crois que votre idée est de créer une seule application Web MVC déployable qui peut répondre aux demandes SOAP et aux demandes RESTful (peut-être même plus?). J'y ai pensé moi-même, mais il ne sert à rien de réinventer la WCF, car elle peut faire les deux sans programmation supplémentaire. Les assemblys ASP.Net MVC n'ont pas été conçus pour fonctionner en tant que service Web et, bien qu'ils puissent le faire, ne devraient probablement pas l'être lorsque d'autres technologies existent spécifiquement conçues à cet effet.

+0

Mmmh J'ai utilisé des méthodes de contrôleur comme des services web reposants à être consommés par ajax/jquery. MVC est très extensible/modifiable donc ça devrait fonctionner ... – cs0815

+0

J'ai aussi utilisé MVC pour renvoyer des objets JSON/XML vers des appels AJAX (RESTful), mais je pense que le surcroît de travail de tentative de recréer SOAP via MVC ne devrait pas être recommandé , surtout quand WCF existe déjà. –

Questions connexes