Domanda

C'è un modo consigliato / un tutorial che mostra come creare e richiesta di processo pianura SOAP con Delphi, senza THTTPRio, per esempio, se voglio implementare SOAP su JMS , SOAP su AMQP o SOAP tramite SMTP ?

esempi di codice semplificato:

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

Questo codice genera il XML con il messaggio SOAP per il 'Aggiungi' chiamata di metodo con gli argomenti Arg1 e Arg2.

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

Questo codice avrebbe preso la richiesta XML SOAP e richiamare il metodo. Il risultato del metodo invocazione sarà avvolto come risposta SOAP ed è pronto per essere inviato al client.

È stato utile?

Soluzione

Dare uno sguardo a classe TLinkedRIO ( http: //shenoyatwork.blogspot .com / 2004/10 / usando-tlinkedrio.html ). Si crea la richiesta SOAP e lo scrive in un file. Dal momento che TLinkedRIO viene utilizzato per scopi di test, che contiene anche il codice per trovare un server (Delphi) che implementa il servizio e avere il server di lettura della richiesta dal file, processo e scrivere la risposta a un altro file. Il chiamante ( client ) legge poi dal file di risposta. Se si desidera utilizzare un trasporto diverso non dovrete fare che parte: la risposta verrà da un vero servizio. Tuttavia, è un buon esempio per mostrare come la serializzazione XML è separato dal trasporto.

PS: La serializzazione SOAP prevede fondamentalmente IWebNode per le sue esigenze di trasporto. E cioè il metodo di tale interfaccia Eseguire. Come / dove si invia il flusso di richiesta di e come / dove si ottiene il flusso di risposta da Is fino alla realizzazione di trasporto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top