Sample code for 30+ languages & platforms
SQL Server

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
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    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