如何从WSDL.exe生成客户机和接口代码?

本文关键字:客户机 接口 代码 WSDL exe | 更新日期: 2023-09-27 17:49:30

我正在编写一些。net 2.0 ASMX服务。我有一个场景,我需要用WSDL.exe生成一个web服务代理,但是生成的类没有实现接口,所以我无法生成用于测试的web服务。

这是我正在尝试的一种方法,但它目前无法编译:我知道WSDL.exe可以使用/serverInterface选项生成接口。原则上,我希望生成接口和代理类,如下所示:

wsdl MyWebService。wsdl/nologo/l:CS/命名空间:朱丽叶。服务/o: C: ' ' JulietService ' MyWebServiceInterface.cs项目/serverInterface

wsdl MyWebService。wsdl/nologo/l:CS/命名空间:朱丽叶。服务项目/o: C: ' ' JulietService ' MyWebServiceProxy.cs

然后将这两个文件包含在我的项目中。之后,我应该能够从生成的代理中派生自己的类,并实现生成的接口,如下所示:

public class MockableWebService : MyWebService, IMyWebServiceSoap11Binding
{
    // No implementation, the interface is already implicitly implemented
    // from the methods in the base class.
}

这应该在原则上工作,除了接口和代理文件将自动为我的请求/响应消息生成相同的类定义,导致数百个The namespace 'Juliet.Services' already contains a definition for 'ABC'类型的错误。


我想保持接口/代理生成尽可能自动化——意思是,我想不惜一切代价避免手工修改生成的代码。

有谁能提出一种方法来使用WSDL.exe同时生成接口和代理,或者一种更好的方法来获得上面描述的结果?

如何从WSDL.exe生成客户机和接口代码?

.NET 2.0 WSDL.EXE不生成部分类吗?然后你可以在另一个类部分实现接口:

public partial class MockableWebService : IMyWebServiceSoap11Binding
{
}