Служба WCF выдает ошибку на рабочем сервере - PullRequest
0 голосов
/ 22 апреля 2011

Возникла странная проблема на моем производственном сервере. M вызывает службу WCF для получения данных и получения исключения

Timestamp: 4/22/2011 9:50:01 AM
Message: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at [ServiceAdress] that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond [Server IP]
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   --- End of inner exception stack trace ---

Server stack trace: 
   at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStream()
   at System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Для целей тестирования и для получения фактического исключения я создал консольное приложение и просто вызвал этот сервис. Я получаю результат, когда запускаю его на локальном сервере разработки + и консольное приложение работает нормально, но когда я запускаю его на моем производстве сервер выдает эту ошибку.

Я хотел бы знать, есть ли что-то, что мне нужно проверить в моей производственной среде? У меня есть проверка, и там нет брандмауэра (есть вероятность, что брандмауэр блокирует это), но брандмауэра нет вообще ..

Помогите ли мне что-нибудь проверить или сделать, чтобы запустить приложение mu ??

С уважением и благодарностью

* EDIT *

Я хотел бы добавить одну вещь: Мой веб-сайт находится там, и этот веб-сайт вызывает эту службу и получает исключение. Чтобы сделать это проще, я сделал консольное приложение в том, что я называю этой службой, и запустил ее как в Dev, так и в Production (где размещен веб-сайт).

Консольное приложение работает нормально при разработке Консольное приложение выдает ошибку на Production

Ответы [ 2 ]

0 голосов
/ 22 апреля 2011

Используйте SvcConfigEditor для редактирования ваших файлов конфигурации и добавления трассировки.Затем откройте файлы трассировки с помощью SvcTraceViewer , чтобы узнать, правильно ли вы звоните, или вы можете найти больше информации о проблеме.

0 голосов
/ 22 апреля 2011

Проверьте адреса конечных точек для следующего: Используемый протокол и адрес конечной точки с портом, определенным в службе и клиенте.

Если вы используете WAS для этого, то проверьте настройку, определенную для службы, щелкнув правой кнопкой мышина службе в определенном пуле приложений.Также проверьте адрес конечной точки, определенный в IE, также, если он показывает OUTput, тогда он запускается с приложением.

...