2012-03-02 4 views
0

Мы развернули приложение WPF (.NET 4) в корпоративную сеть. Приложение не имеет прямого доступа к базе данных. Приложение обращается к базе данных с помощью службы WCF. Когда клиент пытается войти в приложение, он получает ошибкуWCF - конечная точка не найдена - ошибка в корпоративной сети

Там не было конечной точкой прослушивания в http://oururl/dataportal/wcfportal.svc, которые могли бы принять сообщение. Это часто связано с неправильным адресом или действием SOAP. См. Внутреннее исключение, если оно имеется, для получения более подробной информации.

Но если клиент пытается войти в систему, когда Fiddler работает в фоновом режиме, то все работает нормально. См. Файл app.config ниже. Любая помощь в диагностике проблемы будет оценена по достоинству.

<configuration> 
    <system.serviceModel> 
    <!-- ZIP Enabled Dataportal --> 
    <extensions> 
     <bindingElementExtensions> 
     <add name="gzipMessageEncoding" 
      type="Microsoft.ServiceModel.Samples.GZipMessageEncodingElement, GZipEncoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
     </bindingElementExtensions> 
    </extensions> 
    <client>   
     <endpoint name="WcfDataPortal" 
      address="http://oururl/dataportal/wcfportal.svc" 
      binding="customBinding" 
      bindingConfiguration="dataportalCompressed" 
      contract="Csla.Server.Hosts.IWcfPortal" />  
     <metadata> 
     <policyImporters> 
      <extension type="Microsoft.ServiceModel.Samples.GZipMessageEncodingBindingElementImporter, GZipEncoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
     </policyImporters> 
     </metadata> 
    </client> 
    <bindings> 
     <customBinding> 
     <binding name="dataportalCompressed"> 
      <gzipMessageEncoding innerMessageEncoding="textMessageEncoding"/> 
      <httpTransport hostNameComparisonMode="StrongWildcard" 
       manualAddressing="False" maxReceivedMessageSize="6553600" 
       authenticationScheme="Anonymous" bypassProxyOnLocal="False" 
       realm="" useDefaultWebProxy="True" />   
     </binding> 
     </customBinding> 
    </bindings> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="SSL_ServiceBehavior"> 
      <serviceMetadata httpsGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="true"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 

ответ

0

Прежде всего, убедитесь, что вы можете получить доступ к SVC-файлу из браузера. Там может быть проблема с прокси.

+0

Да, файл SVC можно получить из браузера. Чтобы уточнить, приложение работает, если вы пытаетесь получить доступ из-за пределов корпоративной сети клиента. Внутри сети он работает только в том случае, если в фоновом режиме работает скрипач. – user1244754