MSXML6.dll method"SEND" don't work in Windows Server 2012 and SQL 2008R2


hi all,

have sp send webservice data

works fine on windows 2008r2 server , on windows server 2003.

moving on windows server 2012 with sql 2008r2 express (32bit) or sql 2012 express (32bit), doesn't work anymore.

below sp.

-- =============================================  -- author:	giancarlo mada service 2008  -- create date: 09/09/2008  -- description:	web service interface  -- =============================================  create procedure [dbo].[spmd_httprequest]        @uri varchar(2000) = '',             @methodname varchar(50) = '', -- post,        @requestbody varchar(8000) = '', -- xml document envelope        @soapaction varchar(255),        @username nvarchar(100), -- domain\username or username        @password nvarchar(100),        @responsetext varchar(8000) output   set nocount on  if    @methodname = ''  begin        select failpoint = 'method name must set'        return  end  set   @responsetext = 'failed'  declare @objectid int  declare @hresult int  declare @source varchar(255), @desc varchar(255)  exec @hresult = sp_oacreate 'msxml2.serverxmlhttp.6.0', @objectid out  if @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),                    source = @source,                    description = @desc,                    failpoint = 'create failed',                    medthodname = @methodname        goto destroy        return  end  -- open destination uri specified method  exec @hresult = sp_oamethod @objectid, 'open', null, @methodname, @uri, 'false', @username, @password  if @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),              source = @source,              description = @desc,              failpoint = 'open failed',              medthodname = @methodname        goto destroy        return  end  -- set request headers  exec @hresult = sp_oamethod @objectid, 'setrequestheader', null, 'content-type', 'text/xml;charset=utf-8'  if @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),              source = @source,              description = @desc,              failpoint = 'setrequestheader failed',              medthodname = @methodname        goto destroy        return  end  -- set soap action  exec @hresult = sp_oamethod @objectid, 'setrequestheader', null, 'soapaction', @soapaction  if @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),              source = @source,              description = @desc,              failpoint = 'setrequestheader failed',              medthodname = @methodname        goto destroy        return  end  declare @len int  set @len = len(@requestbody)  exec @hresult = sp_oamethod @objectid, 'setrequestheader', null, 'content-length', @len  if @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),              source = @source,              description = @desc,              failpoint = 'setrequestheader failed',              medthodname = @methodname        goto destroy        return  end    -- send request  exec @hresult = sp_oamethod @objectid, 'send', null, @requestbody   if    @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),              source = @source,              description = @desc,              failpoint = 'send failed',              medthodname = @methodname        goto destroy        return  end  declare @statustext varchar(1000), @status varchar(1000)  -- status text  exec sp_oagetproperty @objectid, 'statustext', @statustext out  exec sp_oagetproperty @objectid, 'status', @status out  select @status, @statustext, @methodname  -- response text  exec sp_oagetproperty @objectid, 'responsetext', @responsetext out  if @hresult <> 0  begin        exec sp_oageterrorinfo @objectid, @source out, @desc out        select      hresult = convert(varbinary(4), @hresult),              source = @source,              description = @desc,              failpoint = 'responsetext failed',              medthodname = @methodname        goto destroy        return  end  destroy:        exec sp_oadestroy @objectid  set nocount off   
underlined portion 1 gives error, reported below.

"msxml6.dll 0x80070057 parameter incorrect. send failed post"

sp used msxml3.dll , gives same problem.

can't understand wrong parameter is.

because, mentioned @ beginning, works fine on windows server 2008r2 , windows server 2003

some ideas?

consider filing connect.


SQL Server  >  SQL Server XML



Comments

Popular posts from this blog

Conditional formatting a graph vertical axis in SSRS 2012 charts

Register with Power BI failed

SQL server replication error Cannot find the dbo or user defined function........