主な変更
見つかった:
<binding name="EntityExtractionPortBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
app.configで、すべてのタイムアウトを変更しましたが、それでも同じ例外がスローされます。変化する:
<binding name="EntityExtractionPortBinding" closeTimeout="00:60:00"
openTimeout="00:60:00" receiveTimeout="00:60:00" sendTimeout="00:60:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
Webサービスの呼び出し中にTimeOut例外が発生します。WebサービスはJavaでデプロイされ、私のクライアントはac#winformです。WebサービスはTOMCATサーバーにデプロイされます。クライアント側で次の例外が発生します。
00:00:56.9230000以降の応答を待っている間に、要求チャネルがタイムアウトしました。Requestの呼び出しに渡されるタイムアウト値を増やすか、BindingのSendTimeout値を増やします。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。
クライアント側の例外:
System.TimeoutExceptionがキャッチされましたMessage=00:01:00以降の応答を待っている間に、要求チャネルがタイムアウトしました。Requestの呼び出しに渡されるタイムアウト値を増やすか、BindingのSendTimeout値を増やします。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。Source = mscorlib StackTrace:サーバースタックトレース:System.ServiceModel.Channels.RequestChannel.Request(メッセージメッセージ、TimeSpanタイムアウト)at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(メッセージメッセージ、TimeSpanタイムアウト)atSystem.ServiceModel.Channels。 System.ServiceModel.Channels.ServiceChannel.Call(String action、Boolean oneway、割り当てられたタイムアウト00:01:00を超えました。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。Source = System.ServiceModel StackTrace:at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException、HttpWebRequest request、HttpAbortReason abortReason)at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)atSystem.ServiceModel。 Channels.RequestChannel.Request(メッセージメッセージ、TimeSpanタイムアウト)InnerException:System.Net.WebExceptionメッセージ=操作がタイムアウトしましたSource = System StackTrace:at System.Net.HttpWebRequest.GetResponse()atSystem.ServiceModel。
WebサービスにはWSDLを介してアクセスします。app.configに次のコードがあります
クライアント側のapp.configのコード
<endpoint address="http://localhost:8084/EntityExtraction/EntityExtraction"
binding="basicHttpBinding" bindingConfiguration="EntityExtractionPortBinding"
contract="DictionaryLookUp.EntityExtraction" name="EntityExtractionPort" />