3. Juli 2008 16:38
<?xml version="1.0" encoding="utf-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <GetGeoIPResponse xmlns="http://www.webservicex.net">
- <GetGeoIPResult>
<ReturnCode>1</ReturnCode>
<IP>85.168.234.33</IP>
<ReturnCodeDetails>Record Found</ReturnCodeDetails>
<CountryName>FRANCE</CountryName>
<CountryCode>FR</CountryCode>
</GetGeoIPResult>
</GetGeoIPResponse>
</soap:Body>
</soap:Envelope>
CREATE(XmlDoc); //'Microsoft XML, v6.0'.DOMDocument
XmlDoc.async := FALSE;
XmlDoc.load('C:\Request.xml');
CREATE(EHXmlHttp); //'Microsoft XML, v6.0'.XMLHTTP60
XmlHttp.open('POST','http://xxx.asmx',0);
XmlHttp.setRequestHeader('Content-type','text/xml');
XmlHttp.setRequestHeader('SOAPAction','http://xxx');
EHXmlHttp.send(XmlDoc);
XmlDoc.load(EHXmlHttp.responseXML);
XmlDoc.save('C:\Result.xml');
ResponseFile.CREATETEMPFILE;
ResponseFile.CREATEINSTREAM(InStrm);
InStrm := XmlHttp.responseStream();
XMLPORT.IMPORT(XMLPORT::XMLResult, InStrm);
3. Juli 2008 22:27
4. Juli 2008 08:32
4. Juli 2008 08:50
Filename:='C:\Result.xml';
IF XMLFile.OPEN(Filename) THEN BEGIN
XMLFile.CREATEINSTREAM(Stream);
XMLPort.SETSOURCE(Stream);
IF NOT XMLPort.IMPORT THEN
ERROR('Die Datei '%1' konnte nicht importiert werden.',Filename);
END ELSE
ERROR('Die Datei '%1' konnte nicht geöffnet werden.',Filename);
4. Juli 2008 09:21
4. Juli 2008 09:34
<?xml version="1.0" encoding="utf-8" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <GetGeoIPResponse xmlns="http://www.webservicex.net">
- <GetGeoIPResult>
<ReturnCode>1</ReturnCode>
<IP>85.168.234.33</IP>
<ReturnCodeDetails>Record Found</ReturnCodeDetails>
<CountryName>FRANCE</CountryName>
<CountryCode>FR</CountryCode>
</GetGeoIPResult>
</GetGeoIPResponse>
</soap:Body>
</soap:Envelope>
4. Juli 2008 10:19
4. Juli 2008 10:59
TagName TagType SourceType DataSource
GetGeoIPResult Element Table <XMLTestIPAbfrage>(XMLIPImport)
ReturnCode Element Field <XMLTestIPAbfrage>::ReturnCode
IP Element Field <XMLTestIPAbfrage>::IP
ReturnCodeDetails Element Field <XMLTestIPAbfrage>::ReturnCodeDetails
CountryName Element Field <XMLTestIPAbfrage>::CountryName
CountryCode Element Field <XMLTestIPAbfrage>::CountryCode
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetGeoIPResponse xmlns="http://www.webservicex.net">
<GetGeoIPResult>
<ReturnCode>1</ReturnCode>
<IP>85.168.234.33</IP>
<ReturnCodeDetails>Record Found</ReturnCodeDetails>
<CountryName>FRANCE</CountryName>
<CountryCode>FR</CountryCode>
</GetGeoIPResult>
</GetGeoIPResponse>
</soap:Body>
</soap:Envelope>
4. Juli 2008 13:08
Naviii hat geschrieben:[...]dachte ich mir, dass der "Umweg" über das Speichern der response in eine Datei um sie dann sofort wieder auszulesen ja nicht unbedingt sein muss.
17. Dezember 2008 01:38
17. Dezember 2008 12:18
17. Dezember 2008 14:19
17. Dezember 2008 21:18
27. Januar 2009 07:30
27. Januar 2009 09:26
27. Januar 2009 09:27
Martin Glück hat geschrieben:enttäuschende Antworten
9. Februar 2009 00:51
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetGeoIPResponse xmlns="http://www.webservicex.net">
<GetGeoIPResult>
<ReturnCode>1</ReturnCode>
<IP>85.168.234.33</IP>
<ReturnCodeDetails>Record Found</ReturnCodeDetails>
<CountryName>FRANCE</CountryName>
<CountryCode>FR</CountryCode>
</GetGeoIPResult>
</GetGeoIPResponse>
</soap:Body>
</soap:Envelope>
// Variablen
// Name DataType Subtype
// XMLDoc Automation 'Microsoft XML, v4.0'.DOMDocument40
// XMLNodeList Automation 'Microsoft XML, v4.0'.IXMLDOMNodeList
// XMLNode Automation 'Microsoft XML, v4.0'.IXMLDOMNode
// Count Integer
CREATE(XMLDoc);
XMLDoc.load('C:\test_XML.xml');
// <soap:Envelope>.
XMLNode := XMLDoc.lastChild;
// <soap:Body>
XMLNode := XMLNode.firstChild;
// < GetGeoIPResponse >
XMLNode := XMLNode.firstChild;
// < GetGeoIPResult >
XMLNode := XMLNode.firstChild;
// Untergeordnete Nodes von < GetGeoIPResult >
XMLNodeList := XMLNode.childNodes;
FOR Count := 1 TO XMLNodeList.length() DO BEGIN
XMLNode := XMLNodeList.nextNode();
MESSAGE('Name: ' + XMLNode.nodeName + '; Value: ' + XMLNode.text);
END;
8. September 2009 12:41
Marc Teuber hat geschrieben:Naviii hat geschrieben:[...]dachte ich mir, dass der "Umweg" über das Speichern der response in eine Datei um sie dann sofort wieder auszulesen ja nicht unbedingt sein muss.
Ok, da muss ich passen. Genau diese Frage habe ich mir auch mal gestellt. Musste dann auch den "Umweg" über eine zwischengespeicherte Datei gehen.
Wenn jemand eine Idee hat: Ich würde auch gerne wissen, wie es funktioniert.
Gruß, Marc
JohnP hat geschrieben://setup the temporary table so that we can handle the XML without saving it to disk first
//create a couple of streams to transfer the data in and out of the BLOB field