2010-11-19 4 views
6

Следующий контракт не генерирует операцию в метаданных, но если я удалю действие ответа или настрою его на "", метаданные теперь корректно генерируют операцию. Зачем?WCF ReplyAction = "*" разбивает метаданные

[System.ServiceModel.ServiceContractAttribute(Namespace="http://Test/Publish", ConfigurationName="IFCRPublish")] 
public interface IFCRPublish 
{ 

    // CODEGEN: Generating message contract since the operation PublishNotification is neither RPC nor document wrapped. 
    [System.ServiceModel.OperationContractAttribute(Action="http://Test/PublishNotification", ReplyAction="*")] 
    PublishNotificationResponse1 PublishNotification(PublishNotificationRequest1 request); 
} 

Полный код услуги в WCF metadata missing operations, если это требуется.

ответ

5

Установка ReplyAction = "*" для операцииContract означает, что WsdlExporter (который публикует метаданные) игнорирует эту операцию. Установка любого другого значения исправит его.

+3

Вы также можете просто полностью удалить атрибут, и это должно работать. –