【问题标题】:The remote server returned an error : 400 badrequest in WCF远程服务器返回错误:WCF 中的 400 badrequest
【发布时间】:2011-02-14 06:29:29
【问题描述】:

在我们的项目中,我们直接从 asp.net 网页调用 .svc 文件,我收到错误“远程服务器返回错误:(400) 错误请求。

我们的项目架构是,我们在 Web 应用程序中使用 .svc 文件,在另一个类库项目中使用 svc 编写器的 .cs 文件。从 aspx 中,我们直接调用 WCF 服务而不添加引用或任何东西。我不能改变这个概念,因为它是我们的标准。我可以添加服务引用并调用这些方法,但我想直接从 .svc url 调用该方法。

我生气了 2 天,无法解决错误。我们正在使用 HttpWebRequest 从服务中获取响应。基本上,该服务将数据传输对象(DTO)作为输入,并返回相同的(DTO)作为输出,只有一个值。

检查以下代码:

HttpStatusCode statusCode = HttpHelper.PostXmlRequestValue(requestXMLInput, 
      string.Format("http://{0}/{1}/MySample.svc/webhttp/MyMethodName",  
      Request.ServerVariable["HTTP_HOST"], Request.ApplicationPath);  

相同的代码在一台机器上工作,但在另一台机器上不行。我检查了配置,一切都一样,但我仍然收到同样的错误。

当我在我的机器中使用 .svc url 时,它可以工作,但会显示一条消息“方法不允许”。当我在工作机器中检查相同的 url 时,我得到了相同的消息。我相信我错过了一些简单的事情。我找不到,因为我是 WCF 的新手。

【问题讨论】:

  • 如果您发布代码、XML 或数据示例,在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮 ({})很好地格式化和语法高亮它!

标签: wcf


【解决方案1】:

当使用 HttpWebRequest 时,“方法不允许”错误是例如您正在发送 Http GET,而服务需要 Http POST。

HttpWebRequest 是基于 REST 的配置,这限制了您可以发送的 DTO 的复杂性。

【讨论】:

  • 那我现在能做什么?正如我所说,相同的代码在另一台机器上工作?
  • 函数是如何工作的 -> 上面写的代码调用了一个在本地服务器上编写和部署的 wcf 服务,我得到了错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
相关资源
最近更新 更多