当前位置 : 主页 > 网页制作 > HTTP/TCP >

wcf – 在Fiddler2中请求POST方法体

来源:互联网 收集:自由互联 发布时间:2021-06-16
没有Request body的方法调用成功.当我使用下面的Request body时,我得到HTTP / 1.1 400 Bad Request.你看到下面要求身体有任何明显的问题吗? 请求机构 { "_userConfigData":{"UserName":"bXZpbmphbXVyaQ==", "Fir
没有Request body的方法调用成功.当我使用下面的Request body时,我得到HTTP / 1.1 400 Bad Request.你看到下面要求身体有任何明显的问题吗?

请求机构

{ 
    "_userConfigData":{"UserName":"bXZpbmphbXVyaQ==", "FirstName":"User1", "LastName":"Last1", "ContactInfo":"None" }, 
    "_configResult": "Miscellaneous"
}

请求标题

User-Agent: Fiddler
Content-Type: application/json
Host: localhost:1706
Content-Length: 167

这是服务器端方法:

[OperationContract]
[WebInvoke(UriTemplate = "UpdateUserDetails/?_clientIP={_clientIP}&AdminName={AdminName}", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] 
public void UpdateUserDetails(UserConfigData _userConfigData, ConfigResult _configResult, string _clientIP, string AdminName)
{
    // 
}

这是我与Fiddler2一起使用的URL:

http://localhost:1706/WCF/UserConfig/UserConfigService.svc/UpdateUserDetails?_clientIP=localhost&AdminName=admin

谢谢,

我能够让你的代码工作,但我不得不做一些修改.

>我不得不将查询字符串携带的数据移动到正文中,否则它不起作用.
>我不得不摆脱BodyStyle Wraped选项.

无论如何,这是更新的模型对象与您的数据:

public class UserConfigData
{
    public string UserName { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string ContactInfo { get; set; }
}

public class Result
{
    public UserConfigData UserConfigData { get; set; }
    public string ConfigResult { get; set; }
    public string ClientIp { get; set; }
    public string AdminName { get; set; }
}

服务器端方法:

[WebInvoke(UriTemplate = "UpdateUserDetails", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public void UpdateUserDetails(Result result)
{
    //
}

你传入的json:

{
    "AdminName":"String content",
    "ClientIp":"String content",
    "ConfigResult":"String content",
    "UserConfigData":{
        "ContactInfo":"String content",
        "FirstName":"String content",
        "LastName":"String content",
        "UserName":"String content"
    }
}

更新:
提琴手请求屏幕截图:

并且请求到达服务器UpdateUserDetails()处理程序:

网友评论