2009-08-19 13 views
87

Webサービスを使用する必要があります。彼らは私にWSDLファイルを送った。 ウェブサイトに追加してプロキシとして使用するにはどうすればよいですか。 (仮想ディレクトリに置いた場合、それは発見できますが、実際のWebサービスとの接続を許可しますか?)WSDLの使用方法

+8

をそののUrlプロパティを設定し、それは私がここで他のユーザーがへの答えを見てから恩恵を受けるだろうと思う質問ですので、私はupvoted。私はこの正確な問題を探していました。私はそれをここで見つけました。 – schizoid04

答えて

105

私はVisual Studio 2008を起動し、Webプロジェクト(またはコンソールアプリケーション)を作成してプロジェクトを右クリックし、コンテキストメニューから「サービス参照の追加」を選択します。

は、ボックスにファイルのパスと名前を入力して、WSDLをインポートする - これはあなたが使用するためのシンプルな、非常に基本的なWCFクライアントを生成します。生成されたコードには "YourservicenameClient"クラスがあります。このクラスには、WSDLコントラクト上に定義された各メソッドのメソッドが必要です。

クライアントをインスタンス化し、呼び出したいメソッドを呼び出す - それだけです!

YourServiceClient client = new YourServiceClient(); 
client.SayHello("World!"); 

あなたは(デフォルトで作成されたものを使用していない)、リモートURLを指定する必要がある場合は、簡単にプロキシクライアントのコンストラクタでこれを行うことができます。

YourServiceClient client = new YourServiceClient("configName", "remoteURL"); 

configNameが名前であります(URL以外のすべての設定を使用します)、remoteURLは、接続するURLを表す文字列です(configに含まれているものではなく)。

+0

これは正常に動作します。私のマシンにwsdlファイルがある場合は1つの質問のみ、このファイルへの参照を追加します。ヒットするURLを実行すると、WebサービスをホストするURLか、バインディングとエンドポイントを具体化する必要がありますか? – jmayor

+1

これはあなた次第です。デフォルトでは、クライアントプロキシのために作成されたコードには、WSDL内に含まれるURLがあります。別のURLに移動する必要がある場合は、自分で指定する必要があります。 –

+0

これはなぜ簡単ですか?キャッチはありませんか? :pありがとう! – Odys

34

ビジュアルスタジオで。

  • プロジェクトを作成または開きます。
  • ソリューションエクスプローラからプロジェクトを右クリックします。
  • は、あなたが受け取ったWSDLとアドレスを貼り付け、「サービスrefernceを追加」を選択します。
  • [OK]をクリックします。

エラーがなければ、オブジェクトブラウザと関連するすべてのメソッドでサービス参照を確認できるはずです。

+8

<3 Visual Studio ..はい、それは本当に簡単です:) – cwap

+3

OPにはアドレスはなくファイルがあります。 –

+7

WSDLファイルのパス/ファイル名の型...... –

13

WSDL.EXE utilityを使用して、WSDLからWebサービスプロキシを生成します。

あなたはこのようになりますクラスが含まれている長いC#ソースファイルを取得します:

  1. インスタンス化MyServiceで:あなたのクライアント側のWebサービスを消費するコードで

    /// <remarks/> 
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] 
    [System.Diagnostics.DebuggerStepThroughAttribute()] 
    [System.ComponentModel.DesignerCategoryAttribute("code")] 
    [System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")] 
    public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol { 
        ... 
    } 
    

    を。

  2. のinvoke Webメソッドによく
+4

これは、古いスタイルのASMX Webサービスを作成します。旧式のASMX Webサービスは廃止されました。現在、代わりにWCFを使用して、従来の技術の使用を促進するために –

+1

-1を使用する必要があります。 –

+13

+1、他の解決策は私にとっては役に立たなかった。 – Nuzzolilo

関連する問題