2

次のURLWebサービスがあるとします。

http://geoss.compusult.net/wes/serviceManagerCSW/csw?request=GetCapabilities&service=CSW

サービスのプロキシクラスを作成するにはどうすればよいですか?

詳細はこちら

編集#1:

上記のホスティングサービスは、OGC標準(CSW)を実装しています。この標準のスキーマはここでホストされています。そして、ここにいくつかのWSDLがあります。これらのWSDLの1つへのURLをVisualStudioの「参照/サービスの追加」に配置すると、Web操作のリストが取得され、参照が生成されます。ただし、実際のホスティングプロバイダーを認識していないため、これは機能しません。だから私は何をすべきかよくわかりません。

編集#2:

これはそれが生成したものです: ここに画像の説明を入力してください

編集#3:

エラーをチェックするためのジョン・サンダースのコメントに続いて、私は次のようになりました:

カスタムツールエラー:サービス参照'ServiceReference1'のコードの生成に失敗しました。詳細については、その他のエラーおよび警告メッセージを確認してください。D:\ temp \ WebApplication2 \ WebApplication2 \ Service References \ ServiceReference1 \ Reference.svcmap 1 1 WebApplication2

だから私は警告をチェックしました、そして私はこれに似たいくつかの警告を見ました:

警告1カスタムツール警告:wsdl:portTypeをインポートできません詳細:WSDLインポート拡張機能の実行中に例外がスローされました:System.ServiceModel.Description.XmlSerializerMessageContractImporterエラー:ターゲット名前空間のスキーマ' http://www.opengis.net/cat/ csw /2.0.2 'が見つかりませんでした。エラーソースへのXPath:// wsdl:definitions [@ targetNamespace =' http ://www.opengis.net/cat/csw/2.0.2/requests'] /wsdl:portType[@name='csw'] D: \ temp \ WebApplication2 \ WebApplication2 \ Service References \ ServiceReference1 \ Reference.svcmap 1 1 WebApplication2

そして、これらは、.NETでこれらのスキーマを使用して何かを行うときに私が受け取ったのと同じタイプの警告です。スキーマはどの言語でも機能するはずではありませんか?.NETとこれらのスキーマに対する私の心の痛みの例を次に示します。ここに ここ

そのため、このような大きなスキーマを処理できないことでスキーマと.NETのどちらを非難するのかわかりません。

イベントMarcとBasiclifeはどちらも、通常は「通常の」スキーマで機能する答えを提供しましたが、Johnは、トラブルシューティングの問題ではなく、何かが欠けていると思ったときにトラブルシューティングを手伝ってくれたので、答えを得ています。クライアントを作成することはそれほど大したことではないと思っていましたが、私はこれらのスキーマを知っているべきでした。

4

3 に答える 3

2

プロジェクトを右クリックして、に移動しAdd Service Referenceます。Advanced左下をクリックしてから、Add Web Referenceもう一度左下をクリックします。

URLを入力すると、利用可能なサービスが検索され、プロジェクト内で選択して名前を付けることができます。

編集:

wsdlをインポートしたら、アプリ構成を介してそのベースアドレスを変更できます。

編集2:

私はWCFサービスにも慣れています:-)URLを変更するには、参照を右クリックし、[プロパティ]に移動して、Web Reference URLを必要なものに変更します。

編集3:

参照を追加すると、次の警告メッセージがエラーリストに表示されます。

Warning 1 Custom tool warning: DiscoCodeGenerator unable to initialize code generator. No code generated. s:\dev\Sandbox\Sandbox\Web References\net.opengis.schemas\Reference.map

Reference.csこれが空である理由です。

于 2011-02-10T19:21:46.680 に答える
2

プロジェクトを右クリックして、を選択しますAdd Service Reference。提供されたURLを入力してください...

編集: WSDLへの参照を追加します。これは、VSがプロキシを作成するために必要なものです。

web.configプロキシが作成されたら、アプリケーションの/app.configファイル内のサービスにアクセスするために実際に使用するURLを編集できます。

于 2011-02-10T19:22:04.650 に答える
1

実際のWSDLを使用して、サービス参照を生成します。次に、プロキシクラスを開くときに、を含むコンストラクターのオーバーロードを使用しますEndpointAddress。これには、実際のサービスのURLが含まれます。

WSDLのURLは単なるヒントです。

于 2011-02-10T20:17:01.563 に答える