4

Web サービス側で制御できない WCF Web サービスを使用しています。

私はそれを消費している自動生成されたsvc.csプロキシファイルを与えました。

実際、クライアント側から大きなデータをダウンロードするように Web サービスに要求しています。

時々私は得ています

System.ServiceModel.ProtocolException

私のクライアント側で。

例外は次のとおりです。

System.ServiceModel.ProtocolException: 利用可能なバイト数が HTTP Content-Length ヘッダーと矛盾しています。ネットワーク エラーが発生したか、クライアントが無効な要求を送信している可能性があります。

サーバー スタック トレース: System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream) で System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(Exception& requestException) で System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan タイムアウト) System.ServiceModel.Channels.RequestChannel.Request (メッセージ メッセージ、TimeSpan タイムアウト) で System.ServiceModel.Dispatcher.RequestChannelBinder.Request (メッセージ メッセージ、TimeSpan タイムアウト) で System.ServiceModel.Channels.ServiceChannel.Call (文字列アクション、ブール値 oneway) 、ProxyOperationRuntime 操作、Object[] ins、Object[] outs、TimeSpan タイムアウト) at System.ServiceModel.Channels.ServiceChannel.Call(String アクション、Boolean oneway、ProxyOperationRuntime 操作、Object[] ins、System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime 操作) で System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage メッセージ) で Object[] outs)

[0] で例外が再スローされました: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) でEmpower.Empower.DownloadEmployeeList(String terminalName) の Empower.ServiceRequest.EmployeeDataXML(DateTime time、String terminal) の String BusinessPath、DateTime EffectiveDate、String TerminalName)

クライアント側の私の 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>

私は、それが実際に生成された側と、なぜ生成されているのか、少し混乱していますか?

私はグーグルで調べましたが、あまり役に立たなかったので、誰かがこのパズルから私を助けてくれませんか.

4

1 に答える 1