wenn ich mir die Doku zu HTTPClient() ansehe, dann kann man damit auch SOAP machen. Allerdings tue ich mich da ein wenig schwer mit, weil SOAP so gar nicht meine Welt ist - wenn ich solche Zugriffe machen muß dann hab ich das bislang immer per REST gemacht, was in diesem Fall aber nicht geht da nicht unterstützt.
Ich habe also einfach mal das Grundgerüst aus der Xbase++-Doku genommen, den XML-Teil aus der Doku der anzufragenden Online-Datenbank eingebaut, und das Ganze abgeschickt. Da bekomme ich aber grundsätzlich nur ein 500 "Error reading XMLStreamReader" zurück.
Da ich jetzt nicht so ganz wirklich weiß wie SOAP da funktioniert hab ich dann mal mit den einzelnen Einstellungen des Alaska-Samples gespielt. Es ändert sich nichts daran.
Das hier ist das Sample, mit ich da rumprobiere:
Code: Alles auswählen
TEXT INTO soapRequest WRAP
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://gov.genealogy.net/ws">
<soap:Body>
<ws:searchByName>
<placename>Hamburg</placename>
</ws:searchByName>
</soap:Body>
</soap:Envelope>
ENDTEXT
oHC := HttpClient():new("http://gov.genealogy.net/services/SimpleService")
oHC:setAcceptType("text/xml")
oHC:setAcceptCharSet("utf-8")
oHC:httpRequest:setHeader("SOAPAction", "urn:SimpleService")
oHC:httpRequest:setMethod("POST")
oHC:httpRequest:setContent(soapRequest))
cResult := oHC:send()
Jan