Sample code for 30+ languages & platforms
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

PowerBuilder
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