Pregunta

¿Hay una manera recomendada / un tutorial que muestra cómo crear y solicitud de llanura proceso de SOAP con Delphi sin THTTPRio, por ejemplo, si quiero aplicar SOAP sobre JMS , SOAP sobre AMQP o SOAP a través de SMTP ?

ejemplos de código simplificado:

// create a SOAP request (client side)
RequestXML := Service.Add(Arg1, Arg2);

Este código generará el código XML con el mensaje SOAP para la invocación del método 'Añadir' con los argumentos Arg1 y Arg2.

// process a SOAP request (server side)
ResponseXML := Service.ProcessRequest(RequestXML);

Este código tomaría la solicitud SOAP y XML invocar el método. El resultado de la invocación del método será envuelto como una respuesta SOAP y está listo para ser enviado al cliente.

¿Fue útil?

Solución

Tome un vistazo a la clase TLinkedRIO ( http: //shenoyatwork.blogspot .com / 2004/10 / usando-tlinkedrio.html ). Se crea la solicitud SOAP y lo escribe en un archivo. Desde TLinkedRIO se utiliza para propósitos de prueba, sino que también contiene código para encontrar un servidor (Delphi) que implementa el servicio y hacer que el servidor lee la petición del archivo, procesarla y escribir una respuesta a otro archivo. La persona que llama ( cliente ) y luego lee el archivo de respuesta. Si desea utilizar un transporte diferente que no tendrá que hacer esa parte: la respuesta vendrá de un verdadero servicio. Sin embargo, es un buen ejemplo para mostrar cómo la serialización XML es independiente del transporte.

PS: La serialización de SOAP básicamente espera IWebNode para sus necesidades de transporte. Y a saber, el método de esa interfaz Ejecutar. ¿Cómo / dónde se envía el flujo de solicitud y cómo / donde se obtiene la secuencia de respuesta a partir corresponde a la puesta en práctica de transporte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top