Sample code for 30+ languages & platforms
SQL Server Requires Chilkat v11.0.0+

Send XMLHttpRequest and Get Response

See more HTTP Examples

Demonstrates how to send an HTTP XML request and retrieve the response.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @success int
    SELECT @success = 0

    --  This example assumes the Chilkat API to have been previously unlocked.
    --  See Global Unlock Sample for sample code.

    DECLARE @http int
    EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    --  The XML sent in the body of the request is application
    --  specified -- it should contain whatever the server-side
    --  application is expecting..
    DECLARE @xmlStr nvarchar(4000)
    SELECT @xmlStr = '<?xml version="1.0" encoding="UTF-8"?><appXml><something>123</something></appXml>'

    DECLARE @urlEndpoint nvarchar(4000)
    SELECT @urlEndpoint = 'http://www.chilkatsoft.com/xmlEcho.asp'
    DECLARE @xmlCharset nvarchar(4000)
    SELECT @xmlCharset = 'utf-8'

    DECLARE @resp int
    EXEC @hr = sp_OACreate 'Chilkat.HttpResponse', @resp OUT

    EXEC sp_OAMethod @http, 'HttpStr', @success OUT, 'POST', @urlEndpoint, @xmlStr, @xmlCharset, 'application/xml', @resp
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @resp
        RETURN
      END

    --  The raw HTTP request sent by the above call is:

    --  POST /xmlEcho.asp HTTP/1.1
    --  Content-Type: text/xml
    --  Host: www.chilkatsoft.com
    --  Accept: */*
    --  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*; q=0.7
    --  Accept-Language: en-us,en;q=0.5
    --  Accept-Encoding: gzip
    --  Content-Length: 81
    --  
    --  <?xml version="1.0" encoding="UTF-8"?><appXml><something>123</something></appXml>

    --  Examine the Body of the HTTP response
    --  This would be the XML response sent by the server.
    EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT
    PRINT @sTmp0

    EXEC @hr = sp_OADestroy @http
    EXEC @hr = sp_OADestroy @resp


END
GO