SQL执行WebService

Posted 老衲一把年级学编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL执行WebService相关的知识,希望对你有一定的参考价值。

写了一个钉钉发送消息的类, 要发送用友等审核单据信息, 

模式: 钉钉发消息功能在webservice中, 用友消息列表中有新消息时,采用触发器执行webservice. 

在测试中 ,功能正常 ,但将在汉字发送到手机端后,显示乱码. 

其实这种模式不合理, 这个乱码问题也不解决了.下面是触发器中的代码:

USE [UFDATA_001_2016]
GO
/****** Object:  StoredProcedure [dbo].[richen_message_send]    Script Date: 11/30/2018 08:03:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <李孝徽>
-- Create date: <2018-11-05>
-- Description:    <单据在提交审批时,调用webservice向钉钉发送通知消息
--               在传入参数时,需要用户ID和消息内容 ,最后没使用原因:读数据库发出去消息到钉钉时中文乱码.    >
-- =============================================
ALTER PROCEDURE [dbo].[richen_message_send]
    @userid varchar(30),   
    @content varchar(200)
AS

BEGIN
    SET NOCOUNT ON;

    Declare @ServiceUrl nvarchar(1000) 
    Declare @UrlAddress nvarchar(100)
 
    --WebService地址:以http开头,结尾带斜杠
    set @UrlAddress = http://192.168.0.7/richen_ws/dd_ws.asmx/
 
    DECLARE @FunName nvarchar(30)--WebService中调用的方法名
    SET @FunName = Send_DD   
 
    --以下参数对应WebService中参数的[参数名]
    declare @P1  nvarchar(30),@P2  nvarchar(30)
    SET @P1=userid
    SET @P2=content
  
    --参数赋值
    DECLARE @P1_Value nvarchar(30),@P2_Value  nvarchar(200)
    set @P1_Value=@userid
    set @P2_Value=@content
    SET @ServiceUrl = @UrlAddress + @FunName  + ? + @P1 +=+ @P1_Value +& + @P2 + = +@P2_Value 
 
    --select  @serviceurl --调试时查看拼接结果
 
    ----访问地址执行获取结果
    Declare @Object as Int
    Declare @ResponseText as nvarchar(4000)                   
    Exec sp_OACreate MSXML2.XMLHTTP, @Object OUT;
    Exec sp_OAMethod @Object, open, NULL, get,@ServiceUrl,false
    Exec sp_OAMethod @Object, send
    Exec sp_OAMethod @Object, responseText, @ResponseText OUTPUT
         
    --Select @ResponseText     --调试时查看返回参数 
    Exec sp_OADestroy @Object

END

 

 

以上是关于SQL执行WebService的主要内容,如果未能解决你的问题,请参考以下文章

sql sql里面的代码片段

Microsoft SQL Server 代码片段收集

缺少 SQL SERVER 2014 代码片段

sql Oracle代码片段

sql 日期转换代码片段 - Dato,120,konvertere

以下代码片段是不是容易受到 Rails 5 中 SQL 注入的影响?