【发布时间】:2011-02-03 02:21:47
【问题描述】:
我有一个 WSDL 文件,它定义了我必须在 WCF 中实现的服务。我读到我可以使用 WSDL 文件中的 svcutil 生成代理,然后我可以使用生成的接口来实现服务。
不幸的是,我似乎无法找到一种方法让接口包含正确的属性来公开合同。
所有操作都具有“OperationContractAttribute”属性,但似乎要公开服务,我需要为每个操作提供“OperationContract”。与“ServiceContractAttribute”和“ServiceContract”相同,我想是 DataContract,但我还没有走到那一步。
我可以手动进行这些更改,但我更喜欢一种可以轻松使用现有代码的技术,或者可以为我的使用生成更好的代码。有什么办法可以做到吗?
谢谢。
编辑:
使用的命令:
svcutil ObjectManagerService.wsdl /n:*,Sample /o:ObjectManagerServiceProxy.cs /nologo
代码示例:
public interface ObjectManagerSyncPortType
{
// CODEGEN: Generating message contract since the operation createObject is neither RPC nor document wrapped.
[System.ServiceModel.OperationContractAttribute(Action="http://www.sample.com/createObject", ReplyAction="*")]
[System.ServiceModel.XmlSerializerFormatAttribute()]
Sample.createObjectResponse1 createObject(Sample.createObjectRequest1 request);
// ...
}
据我所知/看到 WSDL 文件是完全独立的,不需要额外的 XSD 文件。
【问题讨论】:
-
请告诉我们您使用的命令行。此外,显示生成的代码示例。
标签: wcf interface wsdl code-generation svcutil.exe