PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Xml
oleobject loo_PdfElement
li_Success = 0
loo_Xml = create oleobject
li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml")
if li_rc < 0 then
destroy loo_Xml
MessageBox("Error","Connecting to COM object failed")
return
end if
li_Success = loo_Xml.LoadXmlFile("qa_data/soap/soapWithPdf.xml")
if li_Success <> 1 then
Write-Debug loo_Xml.LastErrorText
destroy loo_Xml
return
end if
// 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>
loo_PdfElement = loo_Xml.FindChild("s:Body|ObtenerPDFResponse|ObtenerPDFResult|a:PDF")
if loo_Xml.LastMethodSuccess <> 1 then
Write-Debug "Did not find the PDF element at the expected location."
destroy loo_Xml
return
end if
li_Success = loo_PdfElement.SaveBinaryContent("qa_output/out.pdf",0,0,"")
if li_Success <> 1 then
Write-Debug loo_Xml.LastErrorText
destroy loo_Xml
return
end if
Write-Debug "Successfully extracted and saved the PDF."
destroy loo_Xml