0

我无法使用[webinvoke]RESTful WCF 服务中的属性访问任何方法。

我的代码是这样的:

[OperationContract]
[WebInvoke(Method = "Post", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
CompositeType GetDataUsingDataContract(string composite);        

在执行上述服务时,我收到一条错误消息

不允许的方法。

我尝试了很多方法,通过修改 urltemplate、方法名称和方法类型等,但没有任何结果。

但是,如果我使用该[WebGet]属性,则服务方法可以正常工作。

任何人都可以建议我怎么做才能让它发挥作用吗?

提前致谢... :)

4

2 回答 2

1

我创建了一个与您在这里所做的类似的服务,并用 fiddler 调用它,当我将方法更改为 POST 所有大写字母时,它就起作用了。当方法类似于您的代码中的 Post 时,我会收到未找到端点的消息。

我的提琴手请求如下所示:

http://localhost/service/service1.svc/Comosite/test 

这里测试作为复合参数发送,我得到一个 CompositeType 作为返回的 xml。

于 2012-04-16T18:31:30.503 回答
1

尝试改变

[WebInvoke(Method = "Post", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]

[WebInvoke(Method = "POST", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
于 2012-04-28T08:15:47.607 回答