Click here to Skip to main content
15,885,760 members
Please Sign up or sign in to vote.
4.50/5 (2 votes)
See more:
I get this error:

There was no endpoint listening at https://xxxxxxxxxxxx/DataCacheSync.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

Inner Exception: The remote server returned an error: (404) Not Found.

From what I have read this is an issue with https. Which makes sense because this sync works fine when run on localhost which does not use https.

I am under the gun on this project and need the application to be syncing successfully by Tuesday. I have tried to use all the solutions that I found on the internet but nothing has worked. I really think it is probably something simple that I am missing in the config files.

Here is the web config for the website:

XML
<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="authenticated">
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="EcosystemsMembershipProvider" />
          </serviceCredentials>
          <serviceMetadata httpGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
        <behavior name="default">
          <serviceMetadata httpGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="secureBasicBinding">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
      </basicHttpBinding>
      <!-- Setting maxReceivedMessageSize ensures that we do not encounter 404 errors when uploading large amounts of data -->
      <wsHttpBinding>
        <binding maxReceivedMessageSize="2147483647" name="secureWsBinding" receiveTimeout="00:10:00" sendTimeout="00:10:00">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
        <binding maxReceivedMessageSize="2147483647" name="authenticatedWsBinding" receiveTimeout="00:10:00" sendTimeout="00:10:00">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <services>
      <!-- EDT services -->
      <service name="Icfi.Ecosystems.Edt.Services.Services.DataCacheSyncService" behaviorConfiguration="default">
        <endpoint binding="wsHttpBinding" bindingConfiguration="authenticatedWsBinding" contract="Icfi.Ecosystems.Synchronization.Services.Contracts.IDataCacheSyncContract" />
      </service>
      <service name="Icfi.Ecosystems.Edt.Services.Services.ProjectsService" behaviorConfiguration="default">
        <endpoint binding="wsHttpBinding" bindingConfiguration="authenticatedWsBinding" contract="Icfi.Ecosystems.Edt.Services.Contracts.IProjectsContract" />
      </service>
      <!-- Security services -->
      <service name="Icfi.Ecosystems.Security.Services.AuthenticationService" behaviorConfiguration="default">
        <endpoint binding="basicHttpBinding" bindingConfiguration="secureBasicBinding" contract="Icfi.Ecosystems.Security.Services.Contracts.IAuthenticationContract" />
      </service>
      <service name="Icfi.Ecosystems.Security.Synchronization.Services.SecurityCacheDownloadService" behaviorConfiguration="default">
        <endpoint binding="wsHttpBinding" bindingConfiguration="secureWsBinding" contract="Icfi.Ecosystems.Synchronization.Services.Contracts.IDataCacheDownloadContract" />
      </service>
      <!-- Wind services -->
      <service name="Icfi.Ecosystems.Wind.Mortality.Services.DataCacheSyncService" behaviorConfiguration="default">
        <endpoint binding="wsHttpBinding" bindingConfiguration="authenticatedWsBinding" contract="Icfi.Ecosystems.Synchronization.Services.Contracts.IDataCacheSyncContract" />
      </service>
    </services>
    <serviceHostingEnvironment>


And here is the app config for the application doing the syncing:

XML
<system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="default"
                 closeTimeout="00:01:00"
                 openTimeout="00:01:00"
                 receiveTimeout="00:10:00"
                 sendTimeout="00:10:00"
                 bypassProxyOnLocal="false"
                 transactionFlow="false"
                 hostNameComparisonMode="StrongWildcard"
                 maxBufferPoolSize="2147483647"
                 maxReceivedMessageSize="2147483647"
                 messageEncoding="Text"
                 textEncoding="utf-8"
                 useDefaultWebProxy="true"
                 allowCookies="false">
          <readerQuotas maxDepth="32"
                        maxStringContentLength="8192"
                        maxArrayLength="16384"
                        maxBytesPerRead="4096"
                        maxNameTableCharCount="16384" />
          <reliableSession ordered="true"
                           inactivityTimeout="00:10:00"
                           enabled="false" />
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <client>
      <!-- Local security daemon -->
      <endpoint address="net.pipe://localhost/icfi/ecosystems/Authenticate"
                binding="netNamedPipeBinding"
                contract="Icfi.Ecosystems.Security.Services.Contracts.IAuthenticationContract" />
      <endpoint address="net.pipe://localhost/icfi/ecosystems/User"
                binding="netNamedPipeBinding"
                contract="Icfi.Ecosystems.Security.Services.Contracts.IUserContract" />ent>
      <endpoint address="https://ecosystems.icfwebservices.com/Services/WindEnergy/DataCacheSync.svc"
                binding="wsHttpBinding"
                bindingConfiguration="default"
                contract="Icfi.Ecosystems.Synchronization.Services.Contracts.IDataCacheSyncContract" />
    </client>
  </system.serviceModel>
Posted
Updated 4-May-12 12:58pm
v4

This may be wcf transport security issue. You may have to check different security mode for WCF application in the remote(WCF container) server.

XML
<bindings>
  <basicHttpBinding>
    <binding name="SecurityByTransport">
      <security mode="Transport">
        <transport clientCredentialType="Windows" />
       </security>
     </binding>
  </basicHttpBinding>
</bindings>


Try different ClientCredentialType.Here is the list of different types of settings HttpClientCredentialType[^]

In addition check any security impersonation that you might need in order to access the service.ASP.NET Impersonation[^]
 
Share this answer
 
v2
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900