我有一个WSDL文件,我正在尝试创建一个符合WSDL的Web服务。

我已经使用消耗现有服务的WSDL文件创建了客户端,但是我从未创建过需要遵循特定WSDL的Web服务。

我已经尽力使用:
wsdl.exe mywsdl.wsdl /l:VB /serverInterface
现在,我从该WSDL生成了一个.vb文件。但是我不确定该VB文件应该怎么做。看起来那里有一个公共(public)接口(interface),但是没有实现该接口(interface)的类。它还为WSDL中的类型提供了一堆局部类。

我期望在代码中放置一些存根,以完成服务调用。我之前仅创建了简单的Web服务,并且它们都没有使用公共(public)接口(interface),因此我不熟悉这里发生的事情。

在这一点上,我不确定如何使用生成的.vb文件并使它与.asmx文件一起使用,以及完成该接口(interface)需要额外的编码。

最佳答案

如果已经创建了接口(interface),则需要实现这些接口(interface)。
只需创建一个新的Web服务并添加您生成的接口(interface),使其从该接口(interface)继承即可。 Visual Studio可以自动为接口(interface)中的每个方法生成存根。用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
}

10-07 19:43
查看更多