тестовый клиент WCF выдает ошибку, вызванную wjen - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть служба WCF, которую я хочу проверить, когда появляется окно вызова, и я нажимаю кнопку вызова, выдает ошибку, я гуглюл, но пока не могу запустить, вот ошибка, которую я получаю:

Фактическое сообщение об ошибке:

Failed to invoke the service. Possible causes: The service is offline or inaccessible; the client-side configuration does not match the proxy; the existing proxy is invalid. Refer to the stack trace for more detail. You can try to recover by starting a new proxy, restoring to default configuration, or refreshing the service.

    at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
           at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
           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)

            Exception rethrown at [0]: 
               at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
               at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
               at ITurbineMonitorService.SetStatus(String turbineId, StatusChangeEventData statusChangeEvent)
               at TurbineMonitorServiceClient.SetStatus(String turbineId, StatusChangeEventData stat

Вот мой конфиг, который я запускаю на localhost:

 <serviceBehaviors>
    <behavior>
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpGetEnabled="false" />
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="TurbineMonitor.TurbineMonitor">
    <endpoint address="" behaviorConfiguration="REST" binding="webHttpBinding" contract="TurbineMonitor.ITurbineMonitorService" />
    <endpoint address="soap" binding="basicHttpBinding" contract="TurbineMonitor.ITurbineMonitorService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

1 Ответ

1 голос
/ 24 сентября 2019

В файле конфигурации мы публикуем сервис двумя способами. Один - это стиль отдыха, а другой - мыльный веб-сервис.Стоит обратить внимание на то, что тестовый клиент WCF обычно используется для тестирования мыльного веб-сервиса, а не сервиса спокойного стиля, последний обычно тестируется программным обеспечением Postman.Поэтому я предлагаю вам проверить, проверяете ли вы веб-сервис мыла, созданный Basichttpbinding.
enter image description here
Кроме того, поскольку данные об ошибках указывают на то, что служба недоступна и недоступна, проверьтеесли IISExpress хостинг сервиса правильно.Мы можем щелкнуть значок IISExpress в правом нижнем углу, а затем проверить работающий веб-сайт.
Не стесняйтесь сообщить мне, если проблема все еще существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...