web-dev-qa-db-ja.com

WSDLファイルからASMX Webサービスを作成する

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

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

私は使用する限り行ってきました:

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

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

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

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

57
dtc

すでにインターフェースを作成している場合は、それらのインターフェースを実装する必要があります。
新しい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
}
34
Robert Vuković

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

4
John Saunders