Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim xml As New Chilkat.Xml

success = xml.LoadXmlFile("qa_data/soap/soapWithPdf.xml")
If (success <> True) Then
    System.DebugLog(xml.LastErrorText)
    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>

Dim pdfElement As Chilkat.Xml
pdfElement = xml.FindChild("s:Body|ObtenerPDFResponse|ObtenerPDFResult|a:PDF")
If (xml.LastMethodSuccess <> True) Then
    System.DebugLog("Did not find the PDF element at the expected location.")
    Return
End If

success = pdfElement.SaveBinaryContent("qa_output/out.pdf",False,False,"")
If (success <> True) Then
    System.DebugLog(xml.LastErrorText)
    Return
End If

System.DebugLog("Successfully extracted and saved the PDF.")