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的主要内容,如果未能解决你的问题,请参考以下文章