Encabezados SOAP versus encabezados HTTP


Estoy trabajando en un programa que usa servicios web y para eso necesito envolver algunos datos como encabezados para el mensaje.

Quiero preguntar si es equivalente a colocar estos datos como encabezados SOAP o como encabezados HTTP?

Author: Bogdan, 2012-07-12

1 answers

Los encabezados SOAP contienen información específica de la aplicación relacionada con el mensaje SOAP. Normalmente contienen información de enrutamiento, información de autenticación, semántica de transacciones, etc. Estos son específicos para el mensaje SOAP y son independientes del transporte que SOAP utiliza (en el alcance de este post: HTTP).

Los encabezados HTTP definen los parámetros operativos de la transacción HTTP, como el tipo de contenido de lo que se transmite, la longitud del contenido, directivas de caché para clientes o proxies, etc. Estos son específicos de HTTP y son independientes de lo que realmente se transmite con HTTP (en este caso el XML SOAP).

Usted podría, por supuesto, utilizar ambos encabezados HTTP o encabezados SOAP para proporcionar información específica de la aplicación sobre el mensaje SOAP. El encabezado HTTP SOAPAction fue un movimiento en esta dirección para SOAP 1.1. Aunque era útil para los servidores para enrutar eficientemente los mensajes sin la necesidad de mirar dentro de la XML SOAP (a veces imposible si el mensaje está cifrado y solo el receptor final sabe cómo descifrarlo) en su mayoría causó confusión y más tarde se eliminó en SOAP 1.2 (y en su lugar es un parámetro opcional action en el application/soap+xml media escriba , que de nuevo es un valor en las cabeceras HTTP... oh, bueno... : D).

Como conclusión, los encabezados SOAP y los encabezados HTTP no son lo mismo. Aunque hasta cierto punto puede sustituir los encabezados SOAP por encabezados HTTP personalizados definidos por el usuario, es la mayoría de las veces es una mala idea.

Si los datos son para el servicio web, deben colocarse dentro de las cabeceras SOAP. Los encabezados HTTP generalmente se detienen en el servidor web mientras que el mensaje SOAP en su totalidad se pasará aguas abajo al receptor final que necesita los datos (tal vez incluso pasando a través de más intermediarios que también podrían necesitarlos).

 50
Author: Bogdan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-23 14:58:07