3

Java で記述された (と思われる) Web サービスへのクライアントを C# で作成しようとしています。クライアントを作成しようとするのは初めてなので、MSDN の指示に従っていますが、参照の追加の問題で行き詰まっています。[サービス参照の追加] ダイアログを開いてURL を追加すると、次のエラーが発生します。

There was an error downloading 'http://geoportal.cuzk.cz/WCTService/WCTService.svc'.
The request failed with HTTP status 404: Not Found.
Metadata contains a reference that cannot be resolved: 'http://geoportal.cuzk.cz/WCTService/WCTService.svc'.
There was no endpoint listening at http://geoportal.cuzk.cz/WCTService/WCTService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
The remote server returned an error: (404) Not Found.
If the service is defined in the current solution, try building the solution and adding the service reference again.

私の次のステップは何ですか?これをどうすればいいのかわからない!(チェコの座標変換サービスです。)

詳細情報:
プロパティ サービス (GetCapabilities) http://geoportal.cuzk.cz/WCTService/WCTService.svc/get ?

ローカリゼーション サービス: http://geoportal.cuzk.cz/WCTService/WCTService.svc/get?request=GetCapabilities&service=WCTS

4

7 に答える 7

3

私は、WCF サービス (Employee.svc) を作成し、後で名前を EmployeeService.svc に変更したという同様の状況に直面していました。WCF プロジェクトは正常にコンパイルされましたが、UI クライアントからサービス参照を追加しようとしたときに、次のエラーが発生しました。

Metadata contains a reference that cannot be resolved: 'http://localhost:2278/EmployeeService.svc?wsdl'.
The document format is not recognized (the content type is 'text/html; charset=UTF-8').
Metadata contains a reference that cannot be resolved: 'http://localhost:2278/EmployeeService.svc'.
There was no endpoint listening at 'http://localhost:2278/EmployeeService.svc' that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
The remote server returned an error: (404) Not Found.
If the service is defined in the current solution, try building the solution and adding the service reference again.

どこでも正しいサービスクラス名を置き換えることで解決しました。私の場合、従業員ではなく EmployeeService である必要があります。省略された場所は、svc ファイルのマークアップ コードにありました。

<%@ ServiceHost Language="C#" Debug="true" Service="WCFServiceHost.**Employee**" CodeBehind="EmployeeService.svc.cs" %>

に変更しました

<%@ ServiceHost Language="C#" Debug="true" Service="WCFServiceHost.**EmployeeService**" CodeBehind="EmployeeService.svc.cs" %>

そして、それは再び働き始めました!!! サービス名を変更した後は、WCF プロジェクトをビルドすることを忘れないでください。

于 2012-06-01T12:52:43.997 に答える
2

を閲覧してみましたhttp://geoportal.cuzk.cz/WCTService/WCTService.svc?wsdl。このサービスはメタデータを公開していないようです。

私は OpenGIS について少しグーグルで調べましたが、次の記事を参照する必要があると思います。

.NET を使用した OpenGIS

サービス参照を追加するだけでは済みません。具体的な WSDL を作成する必要があるようです。

統合を支援するために使用/カスタマイズできるクライアント側ライブラリがある場合があります。Stack Overflow の質問Using MySQL GeoSpatial data types in .NET をご覧ください

于 2012-04-10T10:55:13.230 に答える
0

サービス参照をクライアント アプリケーションに追加している間、メタデータはサービスからクライアント アプリケーションにアクセスできません。したがって、リモート サーバーはエラーを返しました: (404) 見つかりません。実際には、次のように WCF サービスをホストできます。

  1. セルフホスティング(コンソールアプリ)
  2. IIS ホスティング
  3. WAS ホスティング
  4. ウィンドウ サービス ホスティング。

セルフ ホスティングを使用している場合は、コンソール アプリケーションでサービスをホストし、サービスを実行 (コンソール アプリケーションを実行) してから、サービス参照をクライアント アプリケーションに追加する必要があります。その後、メタデータが交換されます。サービスが実行されていない場合、クライアント アプリケーションへのサービス参照の追加中に 404 not found エラーが発生します。すべてのホスティング タイプで同じプロセスが続きます。最初にサービスを実行してから、サービス参照を追加します。

于 2016-06-26T05:34:25.263 に答える
0

サービス参照を追加する前に、サービスが確実に稼働していますか? メタデータを公開する場合、サービスの動作または同等の設定がされていますか? ファイアウォールを正しく構成しましたか?

于 2012-04-10T08:29:13.357 に答える
-1

Web サービスは実行されません。

このサービスが実行されているサーバーにアクセスできない場合は、ブロックされます。

それ以外の場合は、サーバーが実行されているかどうかなどを確認する必要があります。Java Web サービスの実行方法がわからないため、これ以上お手伝いできません。

于 2012-04-10T08:39:10.793 に答える