寫了一個釘釘發送消息的類, 要發送用友等審核單據信息, 模式: 釘釘發消息功能在webservice中, 用友消息列表中有新消息時,採用觸發器執行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