Sample code for 30+ languages & platforms
B4X

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

B4X
Dim success As Boolean = False

Dim xml As ChilkatXml
xml.Initialize

success = xml.LoadXmlFile("qa_data/soap/soapWithPdf.xml")
If success <> True Then
    Log(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 ChilkatXml = xml.FindChild("s:Body|ObtenerPDFResponse|ObtenerPDFResult|a:PDF")
If xml.LastMethodSuccess <> True Then
    Log("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
    Log(xml.LastErrorText)
    Return
End If


Log("Successfully extracted and saved the PDF.")