1

WCF の基本構成に問題があります。私は携帯電話アプリケーションに取り組んでいます。最初に、basicHttpBinding を使用するテスト デスクトップ アプリケーションを作成しましたが、すべて問題ありませんでした。次に、同じコードを使用しました (違いは ServerReference だけです - 電話では、NetCFSvcUtil を使用して生成された 2 つのサーバー ファイルを使用しました)。電話アプリケーションで、Endpoint no Found Exception が発生します。以下に私の設定を入れています。助けや提案をいただければ幸いです。

よろしく。

電話側の例外:

メッセージを受け入れることができるhttp://localhost:4444/Service/PhoneServiceでリッスンしているエンドポイントはありませんでし た。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。詳細については、InnerException (存在する場合) を参照してください。

電話の設定:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
   <bindings>
    <basicHttpBinding>
    <binding name="BasicHttpBinding" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None"
            realm="" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

  <client>
    <endpoint address="http://localhost:4444/Service/PhoneService/"
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding"
        contract="IPhoneService" name="BasicHttpBinding" />
    </client>



</system.serviceModel>

** サーバー構成の適切なフラグメント**

<service name="Server.PhoneService" behaviorConfiguration="Server.PhoneServiceBehavior">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="" contract="Server.IPhoneService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:4444/Service/PhoneService" />
      </baseAddresses>
    </host>
  </service>



//______________________________//

<behavior name="Server.PhoneServiceBehavior">
  <serviceMetadata httpGetEnabled="true" />
  <serviceDebug includeExceptionDetailInFaults="true" />
</behavior>

*ブラウザでの設定 *

電話サービス サービス

サービスを作成しました。

このサービスをテストするには、クライアントを作成し、それを使用してサービスを呼び出す必要があります。これは、コマンド ラインから次の構文で svcutil.exe ツールを使用して行うことができます。

svcutil.exe http://localhost:4444/Service/PhoneService?wsdl

これにより、クライアント クラスを含む構成ファイルとコード ファイルが生成されます。2 つのファイルをクライアント アプリケーションに追加し、生成されたクライアント クラスを使用してサービスを呼び出します。例えば:

C#

class Test
{
    static void Main()
    {
        PhoneServiceClient client = new PhoneServiceClient();

        // Use the 'client' variable to call operations on the service.

        // Always close the client.
        client.Close();
    }
}
4

1 に答える 1

2

この問題は、インターネット接続が利用できないことが原因でした。

于 2011-03-21T22:29:58.170 に答える