Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

SOAP Example

How to send a SOAP request and get the XML response.

Download Chilkat XML ActiveX

Download Chilkat HTTP ActiveX

<?php

$req = new COM("Chilkat.HttpRequest");
$http = new COM("Chilkat.Http");

//  Any string unlocks the component for the 1st 30-days.
$success = $http->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    print $http->lastErrorText() . "\n";
    exit;
}

//  Build this XML SOAP request:
//  <?xml version="1.0" encoding="utf-8"?>
//  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
//  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
//    <soap:Body>
//      <GetQuote xmlns="http://www.webserviceX.NET/">
//        <symbol>string</symbol>
//     </GetQuote>
//    </soap:Body>
//  </soap:Envelope>
$soapReq = new COM("Chilkat.Xml");
$soapReq->Encoding = 'utf-8';
$soapReq->Tag = 'soap:Envelope';
$soapReq->AddAttribute('xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance');
$soapReq->AddAttribute('xmlns:xsd','http://www.w3.org/2001/XMLSchema');
$soapReq->AddAttribute('xmlns:soap','http://schemas.xmlsoap.org/soap/envelope/');

$soapReq->NewChild2('soap:Body','');
$soapReq->FirstChild2();
$soapReq->NewChild2('GetQuote','');
$soapReq->FirstChild2();
$soapReq->AddAttribute('xmlns','http://www.webserviceX.NET/');
$soapReq->NewChild2('symbol','MSFT');
$soapReq->GetRoot2();

print $soapReq->getXml() . "\n";

//  Build an SOAP request.
$req->UseXmlHttp($soapReq->getXml());
$req->Path = '/stockquote.asmx';

$req->AddHeader('SOAPAction','http://www.webserviceX.NET/GetQuote');

//  Send the HTTP POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTP response is received.

$domain = 'www.webservicex.net';
$port = 80;
$ssl = false;

// resp is a Chilkat.HttpResponse
$resp = $http->SynchronousRequest($domain,$port,$ssl,$req);
if (is_null($resp)) {
    print $http->lastErrorText() . "\n";
}
else {
    //  The XML response is in the BodyStr property of the response object:
    $soapResp = new COM("Chilkat.Xml");
    $soapResp->LoadXml($resp->bodyStr());

    //  The response will look like this:
    //  <?xml version="1.0" encoding="utf-8"?>
    //  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    //  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    //  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    //    <soap:Body>
    //      <GetQuoteResponse xmlns="http://www.webserviceX.NET/">
    //        <GetQuoteResult>string</GetQuoteResult>
    //      </GetQuoteResponse>
    //    </soap:Body>
    //  </soap:Envelope>
    //  Navigate to soap:Body
    $soapResp->FirstChild2();
    //  Navigate to GetQuoteResponse
    $soapResp->FirstChild2();
    //  Navigate to GetQuoteResult
    $soapResp->FirstChild2();

    //  The actual XML response is the data within GetQuoteResult:
    $xmlResp = new COM("Chilkat.Xml");
    $xmlResp->LoadXml($soapResp->content());

    //  Display the XML response:
    print $xmlResp->getXml() . "\n";

}

?>

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.