WCF Post方法,返回400错误请求

我看到同一个问题有很多答案,但是我无法解决我的问题,请你们中的任何一个都可以仔细阅读我的代码,然后解决我的问题。我创建了一个WCF服务,如下所示POST方法

界面(iComplaints.cs)

[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare,     ResponseFormat = WebMessageFormat.Json, UriTemplate = "/insertcomplaint")]
Stream InsertComplaint(ComplaintData data);

类(Complaints.cs)

public Stream InsertComplaint(ComplaintData data)
{
    //the code
}

DataContract类(ComplaintData)

public class ComplaintData
{
   [DataMember]
    public string ComplaintID { get; set; }
    [DataMember]
    public string EntryBy { get; set; }
}

我已经在本地托管了该服务,当我尝试使用以下客户端方法使用该服务时,它给了我400(错误请求)

void PostComplaint()
    {
        HttpWebRequest req = null;
        HttpWebResponse res = null;
            string url = "http://localhost:28522/Complaints.svc/insertcomplaint";

            ComplaintData iData = new ComplaintData();
            iData.ComplaintID = txtComplaintID.Text;
            iData.EntryBy = txtEntryBy.Text;

            req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "POST";
            req.ContentType = "application/json"; 
            req.Headers.Add("SOAPAction", url);

            using (var streamWriter = new StreamWriter(req.GetRequestStream()))
            {
                streamWriter.Write(iData);
            }

            res = (HttpWebResponse)req.GetResponse();
            using (var streamReader = new StreamReader(res.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
                TextBox1.Text = result;
            }
    }

WCF服务的Web配置

<service behaviorConfiguration="ServiceBehavior" name="Complaints">
    <endpoint address="" behaviorConfiguration="webHttp" binding="webHttpBinding" contract="IComplaints" />
   <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
  </service>

请任何人帮助。

穆罕默德

我猜你的序列化有问题。请检查一下:

        void PostComplaint()
    {
        HttpWebRequest req = null;
        HttpWebResponse res = null;
        string url = "http://localhost:28522/Complaints.svc/insertcomplaint";

        ComplaintData iData = new ComplaintData();
        iData.ComplaintID = txtComplaintID.Text;
        iData.EntryBy = txtEntryBy.Text;

        req = (HttpWebRequest)WebRequest.Create(url);
        req.Method = "POST";
        req.ContentType = "application/json";
        req.Headers.Add("SOAPAction", url);

        using (var streamWriter = new StreamWriter(req.GetRequestStream()))
        {
            streamWriter.Write(Newtonsoft.Json.JsonConvert.SerializeObject(iData));
        }

        res = (HttpWebResponse)req.GetResponse();
        using (var streamReader = new StreamReader(res.GetResponseStream()))
        {
            var result = streamReader.ReadToEnd();
            TextBox1.Text = result;
        }

    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IIS托管的WCF服务返回HTTP 400错误请求

来自分类Dev

来自浏览器的WCF方法调用返回400错误请求

来自分类Dev

jqGrid,POST使用WCF和REST返回错误的请求

来自分类Dev

C# WCF“System.Net.WebException:远程服务器返回错误:(400) 错误请求。”

来自分类Dev

WCF JSON POST请求,单个字符串参数未绑定并返回400

来自分类Dev

WCF IIS服务文件流式传输远程服务器返回意外响应:(400)错误的请求。

来自分类Dev

远程服务器返回了意外的响应:(400)错误的请求WCF REST

来自分类Dev

错误400->来自客户端的WCF错误请求

来自分类Dev

WCF休息和angularjs 400 BAD在发布期间请求错误

来自分类Dev

wcf-IIS中的主机时出现400错误的请求

来自分类Dev

对象属性不正确时Wcf(400)错误的请求

来自分类Dev

WCF IIS服务文件流式传输远程服务器返回了意外的响应:(400)错误的请求。

来自分类Dev

WCF服务是否返回错误方法?

来自分类Dev

WCF DataService返回处理此请求时发生错误

来自分类Dev

停止WCF请求到达方法

来自分类Dev

WCF方法不接受POST

来自分类Dev

BizTalk出站WCF请求

来自分类Dev

C#WCF ChannelFactory BadRequest 400错误

来自分类Dev

使用Ext.js“网络错误400错误请求”从WCF获取数据

来自分类Dev

从WCF返回IObservable <T>

来自分类Dev

WCF返回平常的反应

来自分类Dev

WCF服务返回XML

来自分类Dev

WCF返回平常的反应

来自分类Dev

忽略从WCF请求返回的数据中的关系

来自分类Dev

从 WCF 获取 JSON HTTP POST 请求

来自分类Dev

WCF中的MaxReceivedMessageSize错误

来自分类Dev

WCF错误:服务太忙

来自分类Dev

WCF IIS错误403

来自分类Dev

Silverlight和WCF错误

Related 相关文章

热门标签

归档