Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = False

$oXml = ObjCreate("Chilkat.Xml")

$bSuccess = $oXml.LoadXmlFile("qa_data/soap/soapWithPdf.xml")
If ($bSuccess <> True) Then
    ConsoleWrite($oXml.LastErrorText & @CRLF)
    Exit
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>

Local $oPdfElement = $oXml.FindChild("s:Body|ObtenerPDFResponse|ObtenerPDFResult|a:PDF")
If ($oXml.LastMethodSuccess <> True) Then
    ConsoleWrite("Did not find the PDF element at the expected location." & @CRLF)
    Exit
EndIf

$bSuccess = $oPdfElement.SaveBinaryContent("qa_output/out.pdf",False,False,"")
If ($bSuccess <> True) Then
    ConsoleWrite($oXml.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Successfully extracted and saved the PDF." & @CRLF)