Sample code for 30+ languages & platforms
Visual FoxPro

Extract and Save PDF from SOAP XML

See more XML Examples

Demonstrates how to extract and save PDF file that is embedded in SOAP XML (or any XML).

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loXml
LOCAL loPdfElement

lnSuccess = 0

loXml = CreateObject('Chilkat.Xml')

lnSuccess = loXml.LoadXmlFile("qa_data/soap/soapWithPdf.xml")
IF (lnSuccess <> 1) THEN
    ? loXml.LastErrorText
    RELEASE loXml
    CANCEL
ENDIF

* The XML we loaded looks like this:

* <?xml version="1.0" encoding="utf-8" ?>
* <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
*     <s:Body>
*         <ObtenerPDFResponse xmlns="http://xyz.org/">
*             <ObtenerPDFResult xmlns:a="http://schemas.xyz.org/something" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
*                 <a:CBB i:nil="true" />
*                 <a:CodigoConfirmacion i:nil="true" />
*                 <a:ErrorDetallado />
*                 <a:ErrorGeneral i:nil="true" />
*                 <a:FechaGenerada i:nil="true" />
*                 <a:FolioGenerado i:nil="true" />
*                 <a:OperacionExitosa>true</a:OperacionExitosa>
*                 <a:PDF>JVBERi0xLjQKJe...</a:PDF>
*                 <a:XML i:nil="true" />
*             </ObtenerPDFResult>
*         </ObtenerPDFResponse>
*     </s:Body>
* </s:Envelope>

loPdfElement = loXml.FindChild("s:Body|ObtenerPDFResponse|ObtenerPDFResult|a:PDF")
IF (loXml.LastMethodSuccess <> 1) THEN
    ? "Did not find the PDF element at the expected location."
    RELEASE loXml
    CANCEL
ENDIF

lnSuccess = loPdfElement.SaveBinaryContent("qa_output/out.pdf",0,0,"")
IF (lnSuccess <> 1) THEN
    ? loXml.LastErrorText
    RELEASE loXml
    CANCEL
ENDIF

? "Successfully extracted and saved the PDF."

RELEASE loXml