У меня есть файл WSDL, определяющий службу, которую я должен реализовать в WCF. Я читал, что могу сгенерировать прокси, используя svcutil из файла WSDL, и что затем я могу использовать сгенерированные интерфейсы для реализации службы.
К сожалению, я не могу найти способ, чтобы интерфейсы содержали правильные атрибуты для раскрытия контрактов.
Все операции имеют атрибут «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.