首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将WebRequest发送到C#:(422)不可处理实体时出错

将WebRequest发送到C#:(422)不可处理实体时出错
EN

Stack Overflow用户
提问于 2014-02-10 04:08:36
回答 2查看 6.2K关注 0票数 0

我正在Spreedly工作,我遇到了我认为是个小问题的问题。

为了我的生命,我不明白为什么我的代码没有正确地发送我的上下文.

这是我的代码(凭证已被更改),它返回错误(422)不可处理的实体,我只能假设它意味着正在发送的XML有问题,但是当我设置断点时,它似乎是正确的。

代码语言:javascript
复制
string url = "https://core.spreedly.com/v1/gateways.xml";
WebRequest request = WebRequest.Create(url);
request.ContentType = "Content-type: application/xml";
request.Method = "POST";
request.Credentials = new NetworkCredential("Ll6fAtoVSTyVMlJEmtpoJV8Shw5", "RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSylzM2ZzTWFwVH4ucG");
XElement xelement = new XElement("gateway", new XElement("gateway_type", "test"));
byte[] buffer = Encoding.UTF8.GetBytes(xelement.ToString());
request.ContentLength = buffer.Length;
Stream reqstr = request.GetRequestStream();
reqstr.Write(buffer, 0, buffer.Length);
reqstr.Close();
WebResponse response = request.GetResponse();

我不经常使用WebRequest,所以我遗漏了一些简单的东西,这是很有道理的。

偷偷地保存他们的文档这里

这些例子都是卷曲的,我应该发送以下内容:

代码语言:javascript
复制
$ curl https://core.spreedly.com/v1/gateways.xml \
-u 'Ll6fAtoVSTyVMlJEmtpoJV8Shw5:RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSylzM2ZzTWFwVH4ucG' \
-H 'Content-Type: application/xml' \
-d '<gateway>
      <gateway_type>test</gateway_type>
    </gateway>'

任何帮助都将不胜感激。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-10 04:11:36

尝试更改以下一行:

代码语言:javascript
复制
request.ContentType = "application/xml";
票数 0
EN

Stack Overflow用户

发布于 2018-06-28 13:35:00

在交易失败的情况下,随机返回422。尝试使用HttpClient而不是WebRequest。

代码语言:javascript
复制
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", 
"ENVIRONMENT_KEY:ACCESS_SECRET");
var content = new StringContent(data, Encoding.UTF8, "application/json");
var response = client.PostAsync(url, content).Result;

string responseJson;
using (HttpContent resp = response.Content)
{
    responseJson = resp.ReadAsStringAsync().Result; 
}

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

https://stackoverflow.com/questions/21668925

复制
相关文章

相似问题

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