Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
LZW
Bz2
Icon

 

 

 

 

 

 

 

SOAP Example

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

Download Chilkat Ruby Library

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

 

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

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