web-dev-qa-db-ja.com

ServiceModelクライアント構成セクションでコントラクト 'IAuthenticationService'を参照するデフォルトのエンドポイント要素が見つかりませんでした

単純なWCFアプリケーションを作成してみましたが、既存のデフォルト構成は何も変更していません。 svcutil.exeを使用して生成されたTestClientを使用してサービスを利用してみました。エラーメッセージ"Could not find default endpoint element that references contract 'IAuthenticationService' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element."を表示しています。エンドポイントをlocalhost:port number/test.svcに配置しようとしましたが、同じエラーが表示されました。

このコードは、Webテストクライアントを実行した後に表示されます。インターネットで長時間検索した後、エラーを追跡できませんでした

これが私のtestClients clientdll.configです

<configuration>
    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="wsHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    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="Message">
                        <transport clientCredentialType="Windows" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="Windows" negotiateServiceCredential="true"
                            algorithmSuite="Default" establishSecurityContext="true" />
                    </security>
                </binding>
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:2490/AuthenticationService.svc"
                binding="wsHttpBinding" bindingConfiguration="wsHttpBinding"
                contract="IAuthenicationService" name="wsHttpBinding">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>

そこでエンドポイントを削除してみてください

 compilation debug=true 

web.config内。それから試みた後

svcutil.exe http://your_wsdl

output.configを生成します。クライアントのWebサイトまたはアプリケーションをoutput.configサービスモデルに置き換えて、servicemodelノードを配置してみてください。それが動作します

8
Shiva Saurabh

これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素で見つからなかったことが原因である可能性があります。

拘束力または契約の名前は間違っています。あなたは告白する必要があります

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="Binding1" />
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://foo" binding="basicHttpBinding" bindingConfiguration="Binding1" contract="Service.MyService" name="MyService" />
    </client>
  </system.serviceModel>

bindingConfigurationbinding nameと一致することを確認してください。上記の例ではBinding1

6
Sam Leach