XML Replay: Difference between revisions
From DataFlex Wiki
Jump to navigationJump to search
no edit summary
mNo edit summary |
No edit summary |
||
Line 33: | Line 33: | ||
Boolean bOK | Boolean bOK | ||
String sServer sURI<br /> | String sServer sURI<br /> | ||
// Create the XML document and load your XML: | |||
Get Create U_cXmlDomDocument to hoDoc | Get Create U_cXmlDomDocument to hoDoc | ||
Set psDocumentName of hoDoc to (Value(oInput(Self))) | Set psDocumentName of hoDoc to (Value(oInput(Self))) | ||
Line 41: | Line 42: | ||
End<br /> | End<br /> | ||
Get DocumentElement of hoDoc to hoMsg<br /> | Get DocumentElement of hoDoc to hoMsg<br /> | ||
// Create the SOAP message, adding the initial processing instruction, the "Envelope" document element, | |||
// the "Body", then append your XML to that: | |||
Get Create U_cXmlDomDocument to hoXML | Get Create U_cXmlDomDocument to hoXML | ||
Send AddChildProcessingInstruction of hoXML "xml" 'version="1.0"' | Send AddChildProcessingInstruction of hoXML "xml" 'version="1.0"' | ||
Line 46: | Line 49: | ||
Get AddElement of hoEnv "soap:Body" "" to hoBody | Get AddElement of hoEnv "soap:Body" "" to hoBody | ||
Get AppendNode of hoBody hoMsg to hoMsg<br /> | Get AppendNode of hoBody hoMsg to hoMsg<br /> | ||
Send ClearHeaders of oTfr | // Set up the HTTP headers: | ||
Send ClearHeaders of oTfr | |||
Set psAcceptTypes of oTfr to "text/*" | Set psAcceptTypes of oTfr to "text/*" | ||
Set psContentTypeSent of oTfr to "text/xml; charset=UTF-8" | Set psContentTypeSent of oTfr to "text/xml; charset=UTF-8" | ||
Get AddHeader of oTfr "SOAPAction" ('"' + Value(oOperation(Self)) + '"') to bOk<br /> | Get AddHeader of oTfr "SOAPAction" ('"' + Value(oOperation(Self)) + '"') to bOk<br /> | ||
// Prepare the transfer object for sending: | |||
Get Value of oServer to sServer | Get Value of oServer to sServer | ||
Get Value of oURI to sURI | Get Value of oURI to sURI | ||
Set piRemotePort of oTfr to (Value(oPort(Self)))<br /> | Set piRemotePort of oTfr to (Value(oPort(Self)))<br /> | ||
// Send the message: | |||
Get HttpPostXmlNode of oTfr sServer sURI hoXML to hoXMLResponse<br /> | Get HttpPostXmlNode of oTfr sServer sURI hoXML to hoXMLResponse<br /> | ||
// Deal with the response: | |||
If (hoXmlResponse=0) Set Value of oReturnedXML to "NO RESPONSE" | If (hoXmlResponse=0) Set Value of oReturnedXML to "NO RESPONSE" | ||
Else Set Value of oReturnedXML to (psXml(hoXmlResponse))<br /> | Else Set Value of oReturnedXML to (psXml(hoXmlResponse))<br /> | ||
// Tidy up: | |||
Send Destroy of hoXML | Send Destroy of hoXML | ||
If hoXMLResponse Send Destroy of hoXMLResponse<br /> | If hoXMLResponse Send Destroy of hoXMLResponse<br /> |