У меня есть файл WSDL, определяющий сервис, который я должен реализовать в WCF. Я прочитал, что могу сгенерировать прокси с помощью svcutil из файла WSDL, и что затем я смогу использовать сгенерированные интерфейсы для реализации сервиса.
К сожалению, я не могу найти способ, чтобы интерфейсы содержали правильные атрибуты для выставления контрактов.
Все операции имеют атрибут «OperationContractAttribute», но похоже, что для предоставления службы мне требуется «OperationContract» для каждой из них. То же самое с «ServiceContractAttribute» и «ServiceContract», и я представляю себе DataContract, но я не дошел до этого.
Я мог бы внести эти изменения вручную, но я бы предпочел метод, при котором существующий код можно было бы легко использовать или для моего использования мог бы быть создан лучший код. Есть ли способ, которым это можно сделать?
Спасибо.
EDIT:
Проблема в Microsoft Connect
Используемая команда:
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.