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