59

WSDL ファイルがあり、WSDL に準拠する Web サービスを作成しようとしています。

既存のサービスを使用する WSDL ファイルを使用してクライアントを作成したことがありますが、特定の WSDL に従う必要がある Web サービスを作成したことはありません。

私は使用するところまで行きました:

wsdl.exe mywsdl.wsdl /l:VB /serverInterface

これで、その WSDL から生成された .vb ファイルを取得できました。ただし、この VB ファイルで何をすべきかわかりません。そこにはパブリック インターフェイスがあるように見えますが、インターフェイスを実装するクラスはありません。また、WSDL の型の部分クラスも多数あります。

サービス呼び出しを完了するためにコードを挿入する、ある種のスタブがあることを期待していました。私は以前に単純な Web サービスしか作成したことがなく、パブリック インターフェイスを使用したことがなかったので、ここで何が起こっているのかよくわかりません。

この時点では、生成された .vb ファイルをどのように使用して .asmx ファイルで動作させるのか、インターフェイスを完成させるためにどのような追加コーディングが必要なのかがわかりません。

4

2 に答える 2

35

すでにインターフェースを作成している場合は、それらのインターフェースを実装する必要があります。
新しい Web サービスを作成し、生成したインターフェースを追加して、そのインターフェースから継承するだけです。Visual Studio は、インターフェイス内のすべてのメソッドのスタブを自動的に生成できます。それらを WebMethod 属性でマークし、いくつかのテスト データ/結果を返すコードを配置します。

このインターフェースがある場合(自動的に生成されたいくつかの属性があります):


public interface IRealWebService
{
    string GetName();

}

新しいサービスを作成する必要があります。


public class WebTestService : System.Web.Services.WebService, IRealWebService
{

    #region IRealWebService Members

    [WebMethod]
    public string GetName()
    {
        return "It Works !!!!";
    }
    #endregion
}
于 2009-02-14T18:58:20.130 に答える
4

WSDL.EXE が生成したインターフェースを継承するクラスを作成し、インターフェースからメソッドを実装するだけです。

于 2009-02-14T18:46:04.183 に答える