zoukankan      html  css  js  c++  java
  • SQL调用Webservices

    IF NOT object_id('proc_CallWebServices') IS NULL
    DROP PROCEDURE proc_CallWebServices
    GO
    CREATE PROCEDURE proc_CallWebServices(
    @parametor VARCHAR(20) = NULL
    )
    AS
    BEGIN
        DECLARE @obj INT
        DECLARE @ValordeRegreso int    
        DECLARE @sUrl VARCHAR(200)
        DECLARE @response VARCHAR(8000)
        DECLARE @hr INT
        DECLARE @src VARCHAR(255)
        DECLARE @desc VARCHAR(255)
    
        SET @sUrl = 'http://mys-zhangj06:802/WebService1.asmx/HelloWorld'
    
        EXEC sp_OACreate 'MSXML2.ServerXMLHTTP', @obj OUT
        EXEC sp_OAMethod @obj, 'open',NULL,'GET',@sUrl,false
        EXEC sp_OAMethod @obj, 'send'
        EXEC sp_OAMethod @obj, 'responseText',@response OUT
    
        SELECT @response [response]
        EXEC sp_OADestroy @obj
        RETURN
    END
    GO
    
    EXEC proc_CallWebServices  ''
    
    
    IF NOT object_id('HTTP_POST') IS NULL
    DROP PROCEDURE HTTP_POST
    GO
    
    CREATE PROCEDURE [dbo].[HTTP_POST]
        (
          @sUrl VARCHAR(500) ,
          @response VARCHAR(500) OUT
        )
    AS 
        BEGIN
            DECLARE @obj INT ,
                @hr INT ,
                @status INT ,
                @msg VARCHAR(255)
    
    
            EXEC @hr = sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
            IF @hr <> 0 
                BEGIN
                    RAISERROR('sp_OACreate MSXML2.ServerXMLHttp.3.0 failed', 16,1)
                    RETURN
                END
    
    
            EXEC @hr = sp_OAMethod @obj, 'open', NULL, 'POST', @sUrl, false
            IF @hr <> 0 
                BEGIN
                    SET @msg='sp_OAMethod Open failed'
                    GOTO eh
                END
    
    
            EXEC @hr = sp_OAMethod @obj, 'setRequestHeader', NULL, 'Content-Type','application/x-www-form-urlencoded'
            IF @hr <> 0 
                BEGIN
                    SET @msg='sp_OAMethod setRequestHeader failed'
                    GOTO eh
                END
    
            EXEC @hr = sp_OAMethod @obj, send, NULL, ''
            IF @hr <> 0 
                BEGIN
                    SET @msg='sp_OAMethod Send failed'
                    GOTO eh
                END
    
            EXEC @hr = sp_OAGetProperty @obj, 'status', @status OUT
            IF @hr <> 0 
                BEGIN
                    SET @msg='sp_OAMethod read status failed'
                    GOTO eh
                END
    
            IF @status <> 200 
                BEGIN
                    SET @msg='sp_OAMethod http status '+STR(@status)
                    GOTO eh
                END
    
            EXEC @hr = sp_OAGetProperty @obj, 'responseText', @response OUT
            IF @hr <> 0 
                BEGIN
                    SET @msg='sp_OAMethod read response failed'
                    GOTO eh
                END
    
            EXEC @hr = sp_OADestroy @obj
            RETURN
            eh:
            EXEC @hr = sp_OADestroy @obj
            RAISERROR(@msg, 16, 1)
            RETURN    
        END
    
    GO
    
    DECLARE @res VARCHAR(500)
    EXEC [HTTP_POST] 'http://mys-zhangj06:802/WebService1.asmx/GetTime?date=zzz',@res OUT
    SELECT @res
  • 相关阅读:
    JavaWeb03-4.0.0版本的pom.xml
    Git学习(上)
    JavaWeb02-如何创建一个基础的Maven项目
    JavaWeb01-maven环境搭建
    HTML5学习
    RSA和AES加密解密过程
    mysql安装失败,最后一步无响应
    powerDesign16通过PLSql中导出的建表语句,建立E-R图
    PLSQL developer+instantclient_11_2实现远程连接Oracle数据库
    分享黄维仁博士关于亲密关系的佳言
  • 原文地址:https://www.cnblogs.com/KingUp/p/5741449.html
Copyright © 2011-2022 走看看