2012-04-16 42 views
0

我無法在RESTful WCF服務中訪問任何具有[webinvoke]屬性的方法。無法使用WCF Restful服務中的屬性[WebInvoke]訪問任何方法

我的代碼是這樣的:

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

在執行上面的服務我收到一條錯誤消息,不允許

方法。

我嘗試了很多方法,通過修改urltemplate,方法名稱和方法類型等,但沒有任何工作。

但是,如果我使用[WebGet]屬性的服務方法工作正常。

有人可以建議我,我能做些什麼使它工作?

在此先感謝... :)

+0

的事情是我想執行後/ PUT /刪除操作。使用get我可以從服務中獲取日期,但事情是我只是不想獲取數據,我想對數據執行更新和刪除操作。爲此,我正在使用webinvoke和post方法進行測試。如果post方法工作正常,那麼我可以繼續進行刪除和放置方法。 – user1335978 2012-04-16 12:08:54

+0

請查看http://msdn.microsoft.com/en-us/library/bb472541(v=vs.90).aspx – Milee 2012-04-16 12:20:37

+0

你能展示一些你用來調用你的服務的代碼嗎? – Bassetassen 2012-04-16 18:22:29

回答

1

嘗試改變

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

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

我創建爲你在這裏做了類似的服務,並與小提琴手叫它和工作時,我改變了方法POST全部使用大寫字母。當方法與您的代碼中的Post類似時,我會得到未找到端點的消息。

我拉琴的要求是這樣的:

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

這裏測試中發送作爲複合參數,我得到一個CompositeType作爲XML返回。