web-dev-qa-db-ja.com

メッセージを受け入れることができる(url)をリッスンするエンドポイントがありませんでした

ASP.NET Webサイトを構築しています。これは、いくつかのプロジェクト、データベース、Webサービスを備えたソリューションです。すべて正常に機能しましたが、前回プロジェクトを実行しようとしたときに、次のエラーが発生しました。

There was no endpoint listening at http://localhost:[number]/BooksWS.svc that could accept the
message. This is often caused by an incorrect address or SOAP action. See InnerException, 
if present, for more details.

内部の例外は言う:

Unable to connect to the remote server

この種のエラーは突然発生したため、どのような追加情報を提供すべきかわかりません。なぜこれが起こるのか、誰にも分かりませんか?

Webでこのエラーについて見つけたWCFに関する唯一の情報は、一般的な答えでも役立つと思います。

16
Cheshie

サイトのWeb設定ページに移動し、タグエンドポイントを探して、アドレス属性のポートを確認します。ポート番号に変更があった可能性があります

10
dandush

私がちょうど持っていた別のケース-リクエストサイズがIISで制限として設定されたリクエストサイズよりも大きい場合、そのエラーも取得できます。

IISリクエスト制限を確認し、必要よりも低い場合は増やしてください。IISリクエスト制限を確認および変更する方法は次のとおりです。

  1. IISを開きます
  2. サイトおよび/またはマップされたアプリケーションをクリックします
  3. [機能]ビューをクリックし、[フィルタリングのリクエスト]をクリックします
  4. [機能設定の編集]をクリックします。

Edit Feature Settings

スタック内に別のスレッドも見つかりました IIS 7.5がホストするWCFサービスは、大きなリクエストに対してのみ404でEndpointNotFoundExceptionをスローします

10
LyuboBG

別の考えられるケースは、WCF Activation機能がインストールされていることを確認することです。 [サーバーマネージャー]> [機能]> [機能の追加]に移動します。

enter image description here

3
Milan Matějka

短い答えですが、Skypeを開いていましたか?これは、デフォルトでport:80を使用するASP.NET(および一般的にはlocalhost)に特に干渉します。

Windowsの場合:[ツール]-> [オプション]-> [詳細]-> [接続]に移動し、[着信接続の代替としてポート80と443を使用する]チェックボックスをオフにします。

1
Danny Mahoney

これを試して:

  • サービスインスタンスを削除します。
  • サービスの新しいインスタンスを作成します。

ポートが変更され、エラーが生成される場合があります。

1
sdasdasdasd

カスタムバインディングを使用している場合は、構成ファイルの両方のカスタムバインディング(サーバーとクライアント)に同じ名前を付けていることを確認してください

<bindings>
<customBinding>
 <binding name="BufferedHttpServerNoAuth" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
          <gzipMessageEncoding innerMessageEncoding="textMessageEncoding" MaxArrayLength="10485760" MaxBytesPerRead="31457280" MaxStringContentLength="102400000" />
          <httpsTransport hostNameComparisonMode="StrongWildcard" manualAddressing="False" maxReceivedMessageSize="31457280" authenticationScheme="Anonymous" bypassProxyOnLocal="True" realm="" useDefaultWebProxy="False" />
</binding>
</customBinding>
</bindings>

バインディング名 "BufferedHttpServerNoAuth"は両方で同じでなければなりません。

これが誰かを助けることを願っています

1
dush88c

バインディングをエンドポイントに渡すことで解決しました。
" http://abcd.net/SampleFileService.svc/basicHttpWSSecurity "

0
Raj Chaurasia

ローカルのWindowsアプリケーションから新しいサーバーでホストされているWCFサービスを呼び出そうとしたときに、この問題が発生しました。私は同じエラーメッセージを受け取っていましたが、最後にこれがありました「ターゲットマシンが積極的にそれを拒否したため、接続できませんでした127.0.0.1:8888」。自分が間違っているか正しいかはわかりませんが、サーバーがWindowsアプリケーションからリクエストを受け取っているときはいつでも、他の何かにルーティングしていると感じます。そこで、私はいくつかの読書をし、以下にサービスホストプロジェクトのWeb.configを追加しました。その後、すべてが魔法のように機能しました。

<system.net>
    <defaultProxy enabled="false">
    </defaultProxy>
</system.net>
0
Ziggler

これは古代の歴史ですが、私はこの問題に出くわしただけで、IISでWebサイトのアプリケーションプールをリサイクルしていました。簡単な修正、一度。

0
Doug F