Hoy vamos a ver rápidamente cuales son las diferencias principales entre un servicio SOAP 1.1 y un servicio SOAP 1.2. Nos vamos a centrar simplemente en las características principales, sin entrar en profundidad en todo lo que ello implica. Y para el ejemplo utilizaremos un servicio de administración de WSO2.
Si queremos realizar una llamada SOAP 1.1, debemos tener en cuenta lo siguiente:
- La llamada debe ser a un endpoint de tipo SOAP 1.1.
- Debemos incluir la cabecera SOAP Action apropiada. En ella ira incluida el identificador de la operación que queremos invocar. Es muy posible que un mismo endpoint tenga diferentes operaciones.
- Debemos incluir la cabecera Content-Type con el valor text/xml.
- El namespace del envelope es http://schemas.xmlsoap.org/soap/envelope/.
https://localhost:8243/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint SOAPAction: urn:login Content/Type: text/xml <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:aut="http://authentication.services.core.carbon.wso2.org"> <soapenv:Header/> <soapenv:Body> <aut:login> <aut:username>admin</aut:username> <aut:password>admin</aut:password> <aut:remoteAddress>localhost</aut:remoteAddress> </aut:login> </soapenv:Body> </soapenv:Envelope>
En cambio si queremos realizar una llamada SOAP 1.2 debemos tener en cuenta lo siguiente:
- La llamada debe ser a un endpoint de tipo SOAP 1.2.
- No es obligatorio incluir la cabecera SOAP Action
- La cabecera Content-Type debe ser application/soap+xml.
- El namespace asociado para el envelope es http://www.w3.org/2003/05/soap-envelope.
https://localhost:8243/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap12Endpoint Content-Type: application/soap+xml <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:aut="http://authentication.services.core.carbon.wso2.org"> <soap:Header/> <soap:Body> <aut:login> <aut:username>admin</aut:username> <aut:password>admin</aut:password> <aut:remoteAddress>localhost</aut:remoteAddress> </aut:login> </soap:Body> </soap:Envelope>
Como veis muy sencillito. Si quereis saber algo mas aqui teneis documentación oficial.
No hay comentarios:
Publicar un comentario