2011-01-10 29 views
5

creé mi primer servicio web hace 2 días en VS 2008 y estaba pensando en consumirlo cuando me encontré con las siguientes preguntas acerca de los servicios web:HTTP SOAP GET POSTAL

1) Mi servicio web página de prueba Invocación (página enlatada que viene como parte de .NET Framework) no muestra ningún ejemplo de solicitud HTTP GET/mensajes de respuesta. Los únicos mensajes que muestra son HTTP POST, SOAP 1.1 y SOAP 1.2. ¿Asumo que los servicios web de alguna manera no fomentan el uso del protocolo HTTP GET para llamarlos?

2) Para realizar una llamada HTTP-POST a través del navegador, creé una página html de muestra. ¿Puedo hacer lo mismo para hacer una llamada HTTP-SOAP de muestra también? En caso afirmativo, ¿la respuesta estaría en formato SOAP? ¿Alguien puede enviarme una página html?

3) ¿Cómo enviamos la información del Encabezado del host al hacer una llamada al servicio web a través de un navegador?

4) ¿Por qué lo llamamos 'llamada HTTP-SOAP' cuando realizamos una llamada al servicio web utilizando el método POST (method = 'post')?

5) ¿Por qué HTTP-SOAP debería tener prioridad sobre HTTP-GET y HTTP-POST?

Gracias y Saludos Milán

Respuesta

0

En primer lugar, es posible que haya cometido un error. ¿Creó un servicio con una extensión .ASMX?

Ese es un servicio web heredado "ASMX", y no debe usarse para un nuevo desarrollo a menos que no tenga otra opción. WCF debería usarse para todo nuevo desarrollo.

En segundo lugar, GET no se puede utilizar para enviar tipos complejos al servicio, ya que coloca los parámetros en la cadena de consulta. POST, en realidad es de poca utilidad, a excepción de la página de prueba (tampoco puede enviar tipos complejos).

Lo único que realmente importa para un servicio de este tipo es SOAP. Debería crear una aplicación cliente de algún tipo para probarla, quizás un conjunto de pruebas unitarias.

7

Los servicios SOAP estándar solo usan HTTP POST porque requieren una solicitud SOAP compleja (XML) que no se puede incluir en la cadena de consulta.

Cuando desee realizar una llamada a su servicio SOAP desde la página web, su página debe generar una solicitud SOAP válida. Debido a eso, las llamadas SOAP generalmente se crean a partir de clientes de servicio generados automáticamente en el lado del servidor.

Podemos llamarlo HTTP-SOAP porque es una solicitud SOAP transportada por el protocolo HTTP con el método POST.

No tiene prioridad. Así es como funcionan los servicios SOAP. Si desea utilizar HTTP GET y HTTP POST, debe verificar los servicios REST.

+0

Gracias por la respuesta. Pero en IE6, solía obtener mensajes de solicitud/respuesta HTTP GET junto con HTTP POST y mensajes HTTP request/response en la página de invocación de prueba. ¿Por qué no es visible ahora? –

+0

Por precedencia quería preguntar cuáles son las ventajas de SOAP sobre GET y POST. \ –

+1

@milan GET y POST son métodos de protocolo de transporte HTTP. SOAP es un protocolo de comunicación que se puede usar a través de HTTP. –