Ruby Examples

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

Ruby
Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SFTP
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
LZW

 

 

 

 

 

 

 

SOAP Example

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

Downloads for Windows/Linux and Install Instructions

require 'rubygems'
require 'chilkat'

req = Chilkat::CkHttpRequest.new()
http = Chilkat::CkHttp.new()

#  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
end

#  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 = Chilkat::CkXml.new()
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()

print soapReq.getXml() + "\n";

#  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.

domain = "www.webservicex.net"
port = 80
ssl = false

# resp is a CkHttpResponse
resp = http.SynchronousRequest(domain,port,ssl,req)
if (resp == nil )
    print http.lastErrorText() + "\n";
else
    #  The XML response is in the BodyStr property of the response object:
    soapResp = Chilkat::CkXml.new()
    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 = Chilkat::CkXml.new()
    xmlResp.LoadXml(soapResp.content())

    #  Display the XML response:
    print xmlResp.getXml() + "\n";

end

 

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