小規模から大規模のデータセット(ドキュメント生成)で機能するサービスがあり、一部の呼び出しでは正常に機能しますが、特定のリクエスト(まったく同じメソッド、異なる引数)では次のように返されます。
System.ServiceModel.EndpointNotFoundException:メッセージを受け入れることができるhttp:// localhost:8010 / MyService/MyService.svcでリッスンしているエンドポイントがありませんでした。これは多くの場合、誤ったアドレスまたはSOAPアクションが原因で発生します。詳細については、InnerException(存在する場合)を参照してください。---> System.Net.WebException:リモートサーバーがエラーを返しました:(404)見つかりません。
サービスが機能していることに注意してください。ドキュメントは生成されますが、すべてではありません...(そしてサービスはブラウザから開くことができます)
web.configでトレース(system.diagnostics)をオンにしましたが、svclogにそれ以上の情報がありません。
バインディング(wsHttp)は次のように構成されます。
<binding name="wsHttpWithTrans" transactionFlow="True" messageEncoding="Mtom" maxReceivedMessageSize="65536000" maxBufferPoolSize="124288000">
<readerQuotas maxDepth="32" maxStringContentLength="819200" maxArrayLength="16384000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" />
</security>
</binding>
また、次のようなものがあります。
<configuration>
<system.web>
<httpRuntime maxRequestLength="124288000" />
</system.web>
</configuration>
メッセージはmaxReceivedMessageSize
、およびその他の属性の制限内に収まる必要があると思います。
現在、メッセージのサイズに疑いがありますが、確信が持てません。これをさらにデバッグするにはどうすればよいかわかりますか?