物理wsdlファイルのみでサービス参照を生成する方法


123

私は何年にもわたってWebサービスを作成して利用してきましたが、常にVisual Studioを使用してクライアントからサービス参照を作成できました。連携する必要のあるサードパーティのサービスがあり、彼らがセキュリティを開くことを拒否しているため、wsdlを確認してサービスを参照できます。それは公衆向けサービスなので、そのレベルのセキュリティの必要性はわかりませんが、それはそれです。

これはn00bの質問であることを知っており、質問するのは恥ずかしいですが、クライアントがメールで送信したwsdlの物理的なコピーしか入手できない場合に、クライアントで同等のサービス参照情報を作成するにはどうすればよいですか?web.configの変更、SOAPデータ上のオブジェクトレイヤーなど。自動化されたサービス参照と同様に、サービスへの接続を開き、定義されたオブジェクトでそれを使い始めたいと思います。

サードパーティのサービスは、私が知る限りWCFではなく、SOAPです。私はVS 2010を使用しています。事前にありがとう、ケン


回答:


180

これは最も簡単な方法かもしれません

  • プロジェクトを右クリックして、「サービス参照の追加...」を選択します。
  • [アドレス:]ボックスに、ダウンロード/変更されたwsdlの物理パス(C:\ test \ project ....)を入力します。
  • 囲碁を打つ

11
「パスとしてコピー」を使用する場合は、引用符を外してください。
O.ジョーンズ

他の人に渡すためにwsdlを保存するとき、クロムのWebサービスからのwsdlの「ソースの表示」は、動作するwsdlを提供しましたが、IE11は提供しませんでした。YMMV。
archangel76

68

これには2つの方法があります。IDEを使用してWSDLを生成することも、コマンドラインを使用して生成することもできます。

1. IDEで作成するには:

ソリューションエクスプローラーペインで、サービスを追加するプロジェクトを右クリックします。

ここに画像の説明を入力してください

次に、サービスのWSDLへのパスを入力して、goをクリックします。

ここに画像の説明を入力してください

2.コマンドラインで作成するには:

VS 2010コマンドプロンプトを開きます([プログラム]-> [Visual Studio 2010]-> [Visual Studioツール])
次に、次のコマンドを実行します。

WSDL /verbose C:\path\to\wsdl

その後、WSDL.exeは消費用の.csファイルを出力します。

xsdなど、ファイルで受け取った他の依存関係がある場合は、それらを引数リストに追加します。

WSDL /verbose C:\path\to\wsdl C:\path\to\some\xsd C:\path\to\some\xsd

VB出力が必要な場合は、/language:VBに加えてを使用してください/verbose


名前空間 'blahURL'からバインディング 'blah'をインポートできません。操作 'SomeRequest'をインポートできません。要素 'xxx'がありません。これは、彼らが私にいくつかのサポートファイルを提供する必要があることを意味しますか、それとも彼らはセキュリティが非常にロックされているので、私は何もできません。
kfoster 2012年

確かに依存関係が欠けているようです。WSDLを開き、上部を見てください。importxsdパスを指すschemaLocationが後に続く行がある場合は、それらのxsdファイルも必要です。
Lynn Crumbling 2012年

ご返信ありがとうございます。必要なxsdインポートを取得できるかどうかを確認するために、クライアントとの未解決のメールがあります。それはとてもイライラしますが、正しく完了したら、URLをServiceReferenceダイアログにポップし、ボタンを押してビオラを押します!私はサービスメソッドの呼び出しから約3行のコードです。プロセス全体には約5分かかります。しかし、私はこのクライアントと数週間作業しており、セキュリティ担当者がWeb経由でサービス定義へのアクセスを開かないため、何もできませんでした。
kfoster 2012年

それは大雑把です。私は現在、プロジェクトのVPN接続を待っています。幸い、彼らは事前にwsdlとそれに付随するxsdドキュメントを私にくれました。それで、あなたはそれらのインポートをwsdlで見つけましたか?
Lynn Crumbling 2012年

はい。彼らが私にそれらの2つのwsdlと他の2つのxsdを与えた4つのサービスが判明したため、どのサービスの完全なファイルセットもありません。しかし、ようやくxsdを取得し、2つのサービスの.csファイルを生成することができました。ありがとう。
kfoster 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.