2011-01-10 9 views
5

J'ai créé mon premier service il y a 2 jours dans VS 2008 et web pensé à consommer quand je suis tombé sur les questions suivantes au sujet des services Web:HTTP SOAP GET POST

1) Mon service web page Invocation test (page conservée qui fait partie du framework .NET) n'affiche aucun exemple de requête HTTP \ response messages. Les seuls messages qu'il affiche sont HTTP POST, SOAP 1.1 et SOAP 1.2. Dois-je supposer que les services Web sont certains comment ne pas encourager l'utilisation du protocole HTTP GET pour les appeler?

2) Pour faire un appel HTTP-POST via le navigateur, j'ai créé un exemple de page html. Puis-je faire la même chose pour faire un exemple d'appel HTTP-SOAP? Si oui, la réponse serait-elle au format SOAP? Quelqu'un peut-il m'envoyer une telle page html.

3) Comment envoyer des informations d'en-tête de l'hôte pendant un appel au service Web via un navigateur?

4) Pourquoi l'appelons-nous un 'appel HTTP-SOAP' lorsque nous faisons un appel au service web en utilisant la méthode POST (method = 'post')?

5) Pourquoi HTTP-SOAP devrait avoir préséance sur HTTP-GET et HTTP-POST?

Merci et salutations de Milan

Répondre

0

Tout d'abord, vous avez sans doute fait une erreur. Avez-vous créé un service avec une extension .ASMX?

Il s'agit d'un service Web «ASMX» hérité et ne doit pas être utilisé pour un nouveau développement, sauf si vous n'avez pas le choix. WCF devrait être utilisé pour tout nouveau développement. Deuxièmement, GET ne peut pas être utilisé pour envoyer des types complexes au service, car il place les paramètres dans la chaîne de requête. POST, est en fait peu utile, sauf pour la page de test (il ne peut pas non plus envoyer de types complexes).

La seule chose qui compte vraiment pour un tel service est SOAP. Vous devriez créer une application cliente pour la tester, peut-être un ensemble de tests unitaires.

7

Les services SOAP standard utilisent uniquement HTTP POST car ils nécessitent une requête SOAP complexe (XML) qui ne peut pas être incluse dans la chaîne de requête.

Lorsque vous souhaitez appeler votre service SOAP à partir d'une page Web, votre page doit générer une requête SOAP valide. Pour cette raison, les appels SOAP sont généralement créés à partir de clients de service générés automatiquement sur le serveur.

Nous pouvons l'appeler HTTP-SOAP car il s'agit d'une requête SOAP transportée par le protocole HTTP avec la méthode POST.

Cela n'a pas préséance. C'est ainsi que fonctionnent les services SOAP. Si vous voulez utiliser HTTP GET et HTTP POST, vous devez vérifier les services REST.

+0

Merci pour la réponse. Mais dans IE6, j'avais l'habitude d'obtenir des exemples de requêtes HTTP \ GET avec des messages HTTP POST et HTTP SOAP request \ response dans la page d'invocation de test. Pourquoi ce n'est pas visible maintenant? –

+0

Par priorité, je voulais demander quels sont les avantages de SOAP sur GET et POST. \ –

+1

@milan GET et POST sont des méthodes de protocole de transport HTTP. SOAP est un protocole de communication qui peut être utilisé sur HTTP. –