首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用POSTing的Postman XML不能工作,但Postman工作得很好

使用POSTing的Postman XML不能工作,但Postman工作得很好
EN

Stack Overflow用户
提问于 2020-06-06 12:11:54
回答 1查看 247关注 0票数 0
代码语言:javascript
复制
EXEC @ret = sp_OACreate 'MSXML2.ServerXMLHTTP', @token OUT;
IF @ret <> 0 RAISERROR('Unable to open HTTP connection.', 10, 1);

-- Send the request.
EXEC @ret = sp_OAMethod @token, 'open', NULL, 'POST', @url, 'false';

--set a custom header Authorization is the header key and VALUE is the value in the header
EXEC @ret = sp_OAMethod @token, 'SetRequestHeader', NULL, 'Authorization', @authHeader

--EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Authentication', @authHeader;
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Content-Type', 'text/xml';
EXEC @ret = sp_OAMethod @token, 'send', NULL, @postData;
-- Handle the response.
EXEC @ret = sp_OAGetProperty @token, 'status', @status OUT;
EXEC @ret = sp_OAGetProperty @token, 'statusText', @statusText OUT;
EXEC @ret = sp_OAGetProperty @token, 'responseText', @responseText OUT;

这在SQL Server 2008中不起作用(“无XML数据”)。

但所有这些工作(使用Postman上的code函数)。使用您最了解的任何一个来告诉我我的SQL Server过程在哪里出错:

C# - RestSharp

代码语言:javascript
复制
var client = new RestClient(<URL HERE>);
client.Timeout = -1;

var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "text/xml");
request.AddHeader("Authorization", "Basic <AUTH HERE>");
request.AddParameter("text/xml", "<XML HERE>,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Python - http.client

代码语言:javascript
复制
import http.client
import mimetypes
conn = http.client.HTTPSConnection(<URL START HERE>)
payload = "<XML HERE>"
headers = {
  'Content-Type': 'text/xml',
  'Authorization': 'Basic <AUTH HERE>'
}
conn.request("POST", "<URL END HERE>", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Javascript - jquery

代码语言:javascript
复制
var settings = {
  "url": "<URL HERE>",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "text/xml",
    "Authorization": "Basic <AUTH HERE>"
  },
  "data": "<XML HERE>",
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
EN

回答 1

Stack Overflow用户

发布于 2020-06-06 15:38:44

它无法工作,因为它是旧的(2008) SQL服务器。复制到一个现代的,它工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62227189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档