0

我正在尝试使用 Microsoft 提供的 wcf 4 REST 模板将长(大约 155000 个字符)base64 字符串提交到 WCF REST 服务。每当我尝试从客户端应用程序或提琴手通过 post 方法提交 XML 时,我都会收到 HTTP 状态代码 400 以响应我的请求。我有适当的 web.config 设置,这些设置来自各种博客文章和其他 stackoverflow 文章。

   <bindings>
      <webHttpBinding>
        <binding name="httpBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Streamed"  openTimeout="00:25:00" closeTimeout="00:25:00" sendTimeout="00:25:00" receiveTimeout="00:25:00">
          <readerQuotas maxDepth="64"
                 maxStringContentLength="2147483647"
                 maxArrayLength="2147483647"
                 maxBytesPerRead="2147483647"
                 maxNameTableCharCount="2147483647"/>
        </binding>
      </webHttpBinding>
    </bindings>  

我在这里想念什么?其他一切都很好;我向服务提交 text/xml 格式的请求,其他一切都返回 200,只要我不使用 base64 字符串。我知道还有一百万其他关于 wcf 消息大小的帖子,但如果有人能快速查看我的内容,我将不胜感激。

这是我试图让 wcf 服务处理的示例请求的链接。

我将不胜感激任何人可能有的任何想法。

4

1 回答 1

0

尝试在服务器端启用跟踪以查看导致服务器拒绝请求的原因。另外,请仔细检查:

  • 您的服务的<endpoint>元素bindingConfiguration具有值为“httpBinding”的属性
  • 您的服务的<service>元素是一个与服务类的完全限定名称name匹配的属性(即,与命名空间,本质上与您在 .svc 文件中使用的值相同)。
于 2011-07-07T22:21:05.077 回答