0
我想調用存儲過程中的webservice並獲取XML答案。我可以得到XML答案確定,但我想更改responsetext charset utf-8或euc-kr。如何更改responsetext字符集?從SQL存儲過程調用webservice並想知道ResponseText字符集
Ps。我曾經[由sp_OACreate 'ADODB.Stream'],但不能得到responsebody 所以我想字符集的responseText UTF-8或EUC-KR
這是我的存儲過程是什麼樣子:
DECLARE @Object INT
, @hResult INT
, @source NVARCHAR(255)
, @desc NVARCHAR(255)
, @Method NVARCHAR(MAX)
, @ResponseText VARCHAR(MAX)
, @ResponseBody varbinary(MAX)
DECLARE @ObjectToken INT
-- OLE 호출 --XML
EXEC @hResult = sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;
EXEC @hResult = sp_OAMethod @Object, 'open', NULL, 'GET',@URL,0--'false'
Exec sp_OAMethod @Object ,'setRequestHeader' ,NULL ,'Content-Type' ,'text/xml; charset=utf-8'
EXEC @hResult = sp_OAMethod @Object, 'send'
EXEC sp_OAGetProperty @Object, 'ResponseText'--,@ResponseBody OUT
EXEC sp_OADestroy @Object
--SELECT @ResponseBody AS ResponseBody
RETURN
-- OLE -ADODB
EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
EXEC sp_OAMethod @ObjectToken, 'Open'
EXEC sp_OASetProperty @ObjectToken, 'Position ', 0
EXEC sp_OASetProperty @ObjectToken, 'Type', 1
EXEC sp_OASetProperty @ObjectToken, 'Write', NULL,@ResponseBody
EXEC sp_OASetProperty @ObjectToken, 'Position ', 0
EXEC sp_OASetProperty @ObjectToken, 'Type', 2
EXEC sp_OASetProperty @ObjectToken, 'Charset ', 'euc-kr'
EXEC sp_OAMethod @ObjectToken, 'ReadText'
EXEC sp_OAMethod @ObjectToken, 'Close'
--EXEC @hResult = sp_OAMethod @Object, 'ResponseText'--, @ResponseText OUTPUT
-- INSERT INTO TempReceiveXml_Body
-- exec sp_OAMethod @Object, 'responsebody'
EXEC sp_OADestroy @Object
EXEC sp_OADestroy @ObjectToken