Невозможно получить доступ ни к одному из методов с атрибутом [WebInvoke] в службах WCF Restful.
Я не могу получить доступ к любому методу с атрибутом [webinvoke]
в RESTful службе WCF.
Мой код такой:
[OperationContract]
[WebInvoke(Method = "Post", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
CompositeType GetDataUsingDataContract(string composite);
При выполнении вышеуказанного сервиса я получаю сообщение об ошибке
Метод не разрешен.
Я пробовал много способов, изменяя urltemplate, имя метода, тип метода и т. Д., Но ничего не получалось.
Но если я использую [WebGet]
Атрибут метод обслуживания работает нормально.
Кто-нибудь может подсказать мне, что я могу сделать, чтобы это сработало?
Заранее спасибо...:)
2 ответа
Попробуйте изменить
[WebInvoke(Method = "Post", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
в
[WebInvoke(Method = "POST", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
Я создал подобный сервис, как вы сделали здесь, и назвал его с помощью fiddler, и это сработало, когда я изменил метод на POST все заглавные буквы. Когда метод похож на Post, как в вашем коде, я получаю сообщение о том, что конечная точка не найдена.
Моя просьба скрипача выглядела так:
http://localhost/service/service1.svc/Comosite/test
Здесь тест отправляется в качестве составного параметра, и я получаю CompositeType как возвращаемый xml.