AndyWBell wrote:I probably am jumping through unnecessary steps in loading the XML into an Object and then trying to convert it back into XML to send to the Web Service but I don't know (from the 'documentation') how to approach this more directly.
Maybe this will clear some of the fog:-
In principle, SOAP is a fairly straightforward means of holding a dialogue with a web services server. i.e.
User ==> XML request ==> HTTP transport ==> Web services server ==> XML response ==> HTTP transport ==> User
The dialogue is always initiated by the user. The requests that the user can make are specified by the WSDL.
There is a requirement that the XML request packets and the XML response packets follow a specified format, again laid out in the WSDL.
For human convenience and readabillity, an XML file is usually displayed as an indented series of lines down a page. However, for transmission, the content of the XML packet is arranged as a single contiguous string of characters. I have constructed XML packets ready for transmission by adding all the XML elements to an AnsiString in the required order with my own code.
When the XML response arrives, again it is a single character string. However. it can be fed into a TXMLDocument and that provides very easy access to the data that was carried in the response.
The complications arise when you try to establish how to do this simple set of steps within the complexity of the generalized procedures and structures of BCB.
AndyWBell wrote:A bit like SoapUI except we want to process the return XML before displaying it.
All the SOAP operations are handled within your code, and you can make as much or as little as you want visible to the user.
AndyWBell wrote:I'm not trying to convert a Delphi app.
That question of mine was prompted by your reference to SOAPToObject. That, and the reverse method ObjectToSOAP, were originally added to Delphi. There are a fair number of references to that pair on the net, but all by Delphi users. I do not think you will need to bother with either of those methods in your application.
Aris