XML Replay: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
369 bytes added ,  5 November 2007
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<br />
      // 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 />

Navigation menu