2009-02-14 114 views
56

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

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

我作为走得更远,使用:

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

现在我已经得到了从WSDL生成的.vb文件。不过,我不知道我应该如何处理这个VB文件。看起来它有一个公共接口,但没有实现接口的类。它也有一些WSDL类型的部分类。

我曾期待那里有某种存根,我在代码中完成服务调用。我之前只创建了简单的Web服务,没有一个使用公共接口,所以我不熟悉这里发生的事情。

在这一点上,我不知道如何使用生成的.vb文件,并使其与.asmx文件一起工作,以及需要额外的编码来完成接口。

+0

@webdtc:感谢这个问题,这正是我的问题今天,并且完美地回答了这个问题,再次感谢! – 2009-05-19 16:07:15

+1

谢谢,+1。wsdl.exe语法刷新和后续回答为我节省了很多时间 – 2010-05-25 20:45:39

回答

33

如果您已经创建了需要实现这些接口的接口。
只需创建新的Web服务并添加您生成的接口,以便它继承该接口。 Visual Studio可以自动为接口中的每个方法生成存根。用WebMethod属性标记它们并放置一些代码,以返回一些测试数据/结果。

如果你有inteface(有一些自动生成的多个属性:


public interface IRealWebService 
{ 
    string GetName(); 

} 

你应该让新的服务:


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

    #region IRealWebService Members 

    [WebMethod] 
    public string GetName() 
    { 
     return "It Works !!!!"; 
    } 
    #endregion 
} 
4

您需要做的就是创建一个继承自WSDL.EXE生成的接口的类,然后从接口实现这些方法。