Ошибка сервера WCF - PullRequest
0 голосов
/ 06 мая 2011

В службе WCF, используемой приложением Silverlight 4, я получаю эту ошибку:

{System.ServiceModel.CommunicationException: удаленный сервер возвратил ошибку: NotFound.---> System.Net.WebException: удаленный сервер возвратил ошибку: NotFound.---> System.Net.WebException: удаленный сервер возвратил ошибку: NotFound.в System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult) в System.Net.Browser ...

В какой-то момент это работало, но я сделал обновления, а теперь не работает.Я могу запросить услугу через URL, и он загружает страницу справки, и я могу проверить WSDL.FireFox определяет, что я получаю внутреннюю ошибку службы 500, так что я уверен, что это фактор, но не уверен почему?

У меня служба WCF, размещенная в cassini для целей тестирования.

Есть идеи?Спасибо.

Ответы [ 3 ]

2 голосов
/ 06 мая 2011

Также проверьте, все ли классы, которые вы используете как часть аргументов метода, имеют атрибуты [DataContract] и [DataMember].Если все в порядке, вы можете попробовать трассировку WCF, чтобы точно определить проблему.

Включение происходит так (web.config):

<configuration>
  <system.diagnostics>
    <sources>
          <source name="System.ServiceModel" 
                switchValue="Information, ActivityTracing"
                propagateActivity="true">
          <listeners>
           <add name="traceListener" 
               type="System.Diagnostics.XmlWriterTraceListener" 
               initializeData= "c:\log\Traces.svclog" />
          </listeners>
       </source>
    </sources>
  </system.diagnostics>
</configuration>

Полученный файлдважды щелкните по нему, и он будет открыт в трассировщике (часть инструментов Visual Studio).Ищите любые разделы RED, они приведут вас к любым исключениям, возникшим в переговорах клиент-сервер.

Надеюсь, это поможет, ура!

0 голосов
/ 06 мая 2011

Проверка:

  1. адрес конечной точки
  2. DataContract, DataMember, EnumMember атрибуты контракта данных конечной точки
  3. что вы не переводите в Enum значение, которого нет в Enum
  4. если ваш контракт с данными унаследован из некоторой проверки класса KnownType атрибут
  5. если вы используете сервисную ссылку обязательно что оно обновлено
0 голосов
/ 06 мая 2011

Вы проверили все настройки конечной точки в файле ServiceReferences.ClientConfig?

...