0

プロキシ クラスを作成するには、WSDL ファイルを使用する必要があります。この目的のために、単純なサービスを 1 つ作成し、同じサービスの WSDL を取得し、Internet Explorer で[名前を付けて保存...]を使用してディスクに保存しました。(私はここでやっているといいのですが)。

以上の手順で、WSDL ファイルを取得できました。

次のコマンドを使用すると:

D:\Ashok>wsdl CalculatorService.wsdl

以下に示すようなエラーが発生します。

エラー: 名前空間 ' http://tempuri.org/ ' からバインディング 'BasicHttpBinding_ICalculatorService' をインポートできません。- 操作「追加」をインポートできません。- 要素「http://tempuri.org/:Add」がありません。

私は同じことをグーグルで検索し、いくつかの構成設定を行う必要があることを理解しましたが、正確に何をする必要があるのか​​ 理解できませんでした.

誰でも私に提案してください!

4

3 に答える 3

1

WSDL をよく見ると、内部に次のようなものが含まれていることがわかります。

<s:import schemaLocation="http://..." />

これは、この WSDL がスタンドアロン ファイルではなく、他のファイルに依存していることを意味します (これが、WCF が WSDL を公開することを決定した方法です)。したがって、他のすべてのファイルをディスクに保存するか (および schemaLocation を現在の場所を反映するように変更します)、これは何度も行う必要があるため困難です。または、 wsdl のフラット バージョンを取得します。または、VS で「サービス参照の追加」を使用します。

于 2013-08-06T22:11:30.347 に答える
1

サービス参照を追加し、それを WSDL に向ける

編集 使用できないため、サービス参照を追加... http://support.microsoft.com/kb/820122 編集終了

于 2013-08-05T13:27:28.953 に答える
-1

私は、WSDL のファイルからプロキシを生成することを好みます。私の場合、このプロキシを生成するためのコマンドラインは次のようになります。

wsdl /sharetypes file://D:/WSDLs/General.wsdl file:///D:/WSDLs/CalculatorService.wsdl /out:d:\ServiceProxies.cs /n:AssemblyName

更新:次の記事で詳細を読むことができます -複数の Web サービス参照の共有タイプ

于 2013-08-08T18:48:41.100 に答える