2010-11-19 13 views
6

Le contrat suivant ne génère pas d'opération dans les métadonnées, mais si je supprime l'action de réponse ou la positionne sur "", les métadonnées génèrent maintenant l'opération correctement. Pourquoi?WCF ReplyAction = "*" interrompt les métadonnées

[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); 
} 

Le code de service complet est en WCF metadata missing operations si elle est nécessaire.

Répondre

5

Définir ReplyAction = "*" pour un OperationContract signifie que WsdlExporter (qui publie les métadonnées) ignorera cette opération. Définir toute autre valeur le réparera.

+3

vous pouvez également simplement supprimer l'attribut complètement et cela devrait encore fonctionner. –