Sample code for 30+ languages & platforms
PHP

Access SOAP Body XML

Demonstrates how to access the SOAP body in XML.
<?xml version="1.0" encoding="utf-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
    <soapenv:Body>
        <tfd:TimbreFiscalDigital version="1.0" />
    </soapenv:Body>
</soapenv:Envelope>

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Xml;

$xSoapEnvelope = new Xml();

try {
    $xSoapEnvelope->LoadXmlFile('soapMessage.xml');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

// The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
echo 'SOAP envelope tag: ', $xSoapEnvelope->Tag, "\n";

// The SOAP body (in this case) is a direct child of the SOAP envelope
// and has the tag "soapenv:Body"
$xSoapBody = $xSoapEnvelope->FindChild('soapenv:Body');
if ($xSoapBody === null) {
    echo "No direct child having the tag \"soapenv:Body\" was found.\n";
    exit;
}

// The SOAP message body is the direct child of the SOAP envelope body:
$xMessageBody = $xSoapBody->FindChild('TimbreFiscalDigital');
if ($xMessageBody === null) {
    echo "No direct child having the tag \"TimbreFiscalDigital\" was found.\n";

    exit;
}

// If desired, get the XML of just the SOAP message body:
$soapMessageXml = $xSoapBody->GetXml();

// --------------------------------------------------------------------------------
// Also see Chilkat's Online WSDL Code Generator
// to generate code and SOAP Request and Response XML for each operation in a WSDL.
// --------------------------------------------------------------------------------