我正在使用一个WCF Web服务,我在Web服务端没有控制权。
我已经给出了一个自动生成的svc.cs代理文件,我正在使用它。
实际上,我请求Web服务从客户端下载一些大数据。
有时候我会变得
System.ServiceModel.ProtocolException
在我的客户端。
例外情况如下:
系统.服务模型.协议异常:可用的字节数与HTTP Content-Length标头不一致。可能出现了网络错误或客户端发送的请求无效。
服务器堆栈跟踪:在系统.服务模型.通道.HttpInput.读取缓冲消息(数据流输入数据流)位于系统.服务模型.通道.HttpInput.剖析传入消息在系统.服务模型.通道.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.等待回复时出现异常错误(时间跨度超时)在系统.服务模型.通道.请求通道.请求(消息消息,时间跨度超时)在系统.服务模型.调度程序.请求通道绑定器.请求(消息消息,时间跨度超时)(字符串操作、布尔单向、ProxyOperationRuntime操作、对象[]输入、对象[]输出、TimeSpan超时)(字符串操作,布尔单向,代理操作运行时操作,对象[]输入,对象[]输出)在系统.服务模型.通道.服务通道代理.调用服务(IMethodCallMessage方法调用,代理操作运行时操作)在系统.服务模型.通道.服务通道代理.调用(IMessage消息)
在[0]处再次引发异常:在IBulkDataSvc.获取在Empower.ServiceRequest.EmployeeDataXML(日期时间,字符串终端)在Empower.DownloadEmployeeList(字符串终端)的雇员数据(字符串业务路径,日期时间,有效日期,字符串终端)
我在客户端的Web服务绑定配置如下(仅显示绑定),
<bindings>
<basicHttpBinding>
<binding name="BulkDataSvcSoap">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
<binding name="BulkDataSvcHttpsSoap">
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
<netTcpBinding>
<binding name="BulkDataSvcTcp">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
我有点困惑,它到底是从哪一端产生的,为什么会产生?
我已经在谷歌上搜索过了,没有发现任何有帮助的东西,所以能有人帮我解决这个难题吗?
1条答案
按热度按时间hrirmatl1#
你有机会读这篇文章吗
此外,在某些情况下,如果您的请求带来的数据大于在Web服务端指定的数据,则您一定会得到此结果。