Perl
Chilkat2 Perl
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 Perl Downloads
use strict;
use warnings;
use Chilkat2;
my $xSoapEnvelope = Chilkat2::Xml->new;
my $success = $xSoapEnvelope->LoadXmlFile('soapMessage.xml');
if (!$success) {
print $xSoapEnvelope->LastErrorText, "\n";
exit;
}
# The root node is the SOAP envelope, and in this particular case has a Tag of "soapenv:Envelope"
print '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"
my $xSoapBody = $xSoapEnvelope->FindChild('soapenv:Body');
if (!$xSoapEnvelope->LastMethodSuccess) {
print "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:
my $xMessageBody = $xSoapBody->FindChild('TimbreFiscalDigital');
if (!$xSoapBody->LastMethodSuccess) {
print "No direct child having the tag \"TimbreFiscalDigital\" was found.\n";
exit;
}
# If desired, get the XML of just the SOAP message body:
my $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.
# --------------------------------------------------------------------------------