Невозможно получить доступ ни к одному из методов с атрибутом [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.

Другие вопросы по тегам