Win2003 + SQL Server 2005的工作代码在Win2012 + SQL Server 2012 sp1下无法工作。
我发现的唯一的〜真正的解决方案是:
我将C:\ Windows \ System32 \ msxml3.dll从Server
2008复制到服务器2012上的同一目录。2012服务器上的问题已解决,可以使用POST和GET发送。
但是由于我无法修改服务器,并且msxml3.dll和msxml6.dll均被锁定-我需要了解问题所在并以其他方式应用。
代码很容易获取肥皂网络服务:
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Declare @ErrCode Int;
Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'post','http://example.com/Authentication.asmx','false'
Exec sp_OAMethod @Object ,'setRequestHeader' ,NULL ,'Content-Type' ,'text/xml; charset=utf-8'
Exec sp_OAMethod @Object ,'setRequestHeader' ,NULL ,'SOAPAction' ,'"http://www.example.com/Login"'
Exec @ErrCode=sp_OAMethod @Object, 'send',null,'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<Login xmlns="http://www.example.com/">
<databaseName>db1</databaseName>
<userName>login</userName>
<password>pass</password>
</Login>
</soap:Body>
</soap:Envelope>'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Select @ErrCode,@ResponseText
Exec sp_OADestroy @Object
我同时尝试了MSXML2.XMLHTTP和MSXML2.ServerXMLHTTP(以及.6.0版本)对象。
错误ID:-2147024809,带有备注“发送”失败。The parameter is incorrect
。
当然Ole Automation Procedures
启用了。
我整个周末都偶然发现了这个令人讨厌的问题。我个人发现“替换DLL”的解决方法很糟糕,所以我尽力提出了一个更安全的解决方案…幸运的是,我实际上找到了其中两个。
解决方案1
应用以下MS HotFix,可以永久解决此问题:
(请阅读该帖子以获取更多信息,并通过MS安全通道通过电子邮件请求此修补程序)
解决方案2
如果您无法应用HotFix,则在发出SEND命令时,仍可以通过使用稍有不同的语法来完成作业。代替这个:
Exec @ErrCode=sp_OAMethod @Object, 'send',null,'your-data';
做这个:
Exec @ErrCode=sp_OAMethod @Object, 'send("your-data")';
它适用于任何类型的HTTP请求数据: JSON , XML 甚至标准POST请求的 application / x-www-form-
urlencoded
。缺点是这种语法非常丑陋……您必须以这种方式更改所有存储过程。
摘自http://developer.android.com/guide/topics/ui/settings.html:
本文向大家介绍React.js中的上下文API,包括了React.js中的上下文API的使用技巧和注意事项,需要的朋友参考一下 React上下文api在版本16.3或最新版本中可以安全地用于生产中。添加上下文api的原因是,如果有一系列子组件,则避免传递prop。 在不使用上下文api的情况下,我们必须将道具传递给所有中间组件。另一种替代解决方案是使用第三方库(例如Redux)来维护中央存储。 了
我在spring TestContext配置的深潜过程中遇到了spring-boot-test问题。 示例项目:github示例项目 我有三个带有bean的Spring配置(-重量级配置,我需要缓存它) 两次然后 只有一次。在我看来,这是可能的,因为已经缓存为TestContext(发生这种情况是因为和包含在同一个包中) 这意味着spring启动我的spring上下文三次!为什么?在日志中查看三次
问题内容: 首先,我要指出的是我几乎没有python经验。 替代文字http://www.aquate.us/u/9986423875612301299.jpg 如您所知,只需在Windows PC上的“发送到”文件夹中放置一个快捷方式,就可以允许程序将文件作为参数。 我将如何编写一个以该文件为参数的python程序? 而且,如果有机会,这是一笔红利-我如何将它与urllib2集成以将文件发布到服
通过 Context 可以获取到 *Request 和 ResopnseWriter 。同时还有一些方便的函数可以进行操作。 Req() 获取到*Request对象。 Forms() 可以获取表单提交内容,具体参见 Forms Cookies() 获取到Cookies对象并进行操作。 SecureCookies() 获取到安全Cookie对象并进行操作。 ServeFile() 将文件发送给浏览器
问题内容: 从内部使用文件的最简单方法是什么? 具体来说,如何在不编写任何其他包装程序代码的情况下完成此功能? 与使用第三方库相比,本机功能是首选。 问题答案: 为了易于使用,ctypes是必经之路。 以下ctypes示例来自我编写的实际代码(在Python 2.5中)。到目前为止,这是我找到的最简单的方法来完成你的要求。 的ctypes东西具有:(所有的C型的数据类型int,char,short