无法解释400 Bad Request错误

时间:2014-05-27 20:54:20

标签: c# wcf config

我的服务模式如下所示。

<system.serviceModel>
  <services>
    <service name="Web.General" behaviorConfiguration="common">
      <endpoint address="basic" 
        binding="basicHttpBinding" 
        contract="Web.IGeneral" />
      <endpoint
      ...
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="common">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment
  aspNetCompatibilityEnabled="true"
  multipleSiteBindingsEnabled="true" />

当我点击 ... / general.svc / ping / 1 时,我收到错误400 Bad Request,我无法解释。那是什么以及如何杀死它?

我的服务界面如下。

[ServiceContract]
public interface IGeneral
{
  //[OperationContract(Name = "Ping")]
  [WebInvoke(
    Method = "GET",
    BodyStyle = WebMessageBodyStyle.WrappedRequest,
    //RequestFormat = WebMessageFormat.Json,
    ResponseFormat = WebMessageFormat.Json,
    UriTemplate = "Ping/{input}")]
  String Ping(String input);
}

1 个答案:

答案 0 :(得分:1)

Mate,我已经处于这种状况,解决这个问题的最佳方法是通过Fiddler。 404可以归因于服务器级别的任何内容。如何运行提琴手并查看RAW请求 - 响应

http://www.telerik.com/download/fiddler

否则,启用WCF日志记录。

http://www.codeproject.com/Articles/383162/Logging-and-Tracing-WCF-Soap-Messages

然后使用跟踪查看器:

http://msdn.microsoft.com/en-us/library/ms732023(v=vs.110).aspx

如果您希望我们给出具体答案,那么您可能需要向我们提供更多详细信息。