Visual C++ Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C++ Examples

CkString
Byte Array
Bounced Mail
Bz2
Character Encoding
CSV
DH Key Exchange
DKIM/DomainKeys
Digital Certificates
Digital Signatures
DSA
Email
Email Object
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

 

 

 

 

 

 

 

 

SOAP Example

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

Downloads:

MS Windows Visual C/C++ Libraries
Linux/CentOS C/C++ Libraries
MAC OS X C/C++ Libraries
Solaris C/C++ Libraries
C++ Builder Libraries
#include <CkHttpRequest.h>
#include <CkHttp.h>
#include <CkXml.h>
#include <CkHttpResponse.h>

void ChilkatSample(void)
    {
    CkHttpRequest req;
    CkHttp http;

    bool success;

    //  Any string unlocks the component for the 1st 30-days.
    success = http.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        printf("%s\n",http.lastErrorText());
        return;
    }

    //  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>
    CkXml soapReq;
    soapReq.put_Encoding("utf-8");
    soapReq.put_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();

    printf("%s\n",soapReq.getXml());

    //  Build an SOAP request.
    req.UseXmlHttp(soapReq.getXml());
    req.put_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.
    const char * domain;
    long port;
    bool ssl;
    domain = "www.webservicex.net";
    port = 80;
    ssl = false;
    CkHttpResponse *resp = 0;
    resp = http.SynchronousRequest(domain,port,ssl,req);
    if (resp == 0 ) {
        printf("%s\n",http.lastErrorText());
    }
    else {
        //  The XML response is in the BodyStr property of the response object:
        CkXml soapResp;
        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:
        CkXml xmlResp;
        xmlResp.LoadXml(soapResp.content());

        //  Display the XML response:
        printf("%s\n",xmlResp.getXml());

    }

    }

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

Mail Component · .NET Mail Component · XML Parser