在客户端请求中使用简单的WCF服务

时间:2014-08-22 02:58:07

标签: c# wcf

我尝试使用Postman(或简单的ajax请求)来使用我的wcf应用程序,但由于某种原因,请求总是返回我:

STATUS 400 Bad Request

但是,从VS测试客户端,我的服务正常工作。

接口

[OperationContract]
        [WebGet(ResponseFormat =  WebMessageFormat.Xml, BodyStyle =  WebMessageBodyStyle.Bare, UriTemplate = "general/")]
        MyModel getCourse(int idCourse);

我的班级

public MyModel getCourse(int idCourse)
        {
            return null;

        }

有人有想法吗?感谢。

2 个答案:

答案 0 :(得分:0)

您的VS测试客户端可能有一个app.config,其中包含运行时用于注入CLR代理类的设置,以便生成正确的SOAP请求或Web API请求。您可以使用一些Web流量诊断工具(如Fiddler)来检查VS客户端的有效请求内容和Postman的错误请求,并比较差异,并查看VsClient.exe.config中的可用内容,并进行适当的更改。邮差。

答案 1 :(得分:0)

我在Postman中尝试测试我的WCF服务时遇到了类似的问题,我使用了Chrome的开发人员工具来确定传递给Postman请求的正确参数。

  1. 在Chrome中右键点击您的页面,然后选择"检查元素"
  2. 选择"网络"选项卡并重新加载执行WCF请求的页面
  3. 从"网络"的左边缘选择请求。选项卡,并查看"请求标题"与该请求相关联的
  4. 在Postman中,添加与"请求标题"中显示的标题相匹配的标题。并确保传递给Postman上的呼叫的数据与" Request Payload"列在Chrome中。