2012-04-19 65 views
5

唯一論點,我可以看到SOAP WCF通過REST(JSON)WCF的事實是,一旦我的業務創建,我可以添加在Visual Studio AA參考,我準備好強類型類的負荷,我和一個客戶端類我可以打電話給我所有的webmethod。據我所知,它甚至設置了web.config。我可以爲REST WCF服務自動生成服務引用嗎?

然而,當我露出REST(JSON)服務,我仍然獲得了WSDL。所以林想知道還有一種方法來自動生成我的引用?

+0

您是否嘗試過添加對「舊」服務的引用? [代碼表實施例 - 步驟4](https://www.blackbaud.com/files/support/guides/infinitydevguide/Subsystems/inwebapi-developer-help/Content/InfinityWebAPI/coCodeTableExampleBizOps.htm)。 – 2012-04-19 16:37:51

回答

3

不使用WCF工具。與SOAP(其具有用於描述服務的已建立協議-WSDL)不同,REST不是。 WADL就是這樣一個協議,但它不是太普遍,WCF不支持它。你仍然會得到一個WSDL,因爲WCF會從服務中描述它的一切。但是,WSDL將不會有一個<wsdl:port>元素,它將描述REST端點,這就是您獲取WSDL的原因,但無法生成對其的引用。

的郵遞http://blogs.msdn.com/b/carlosfigueira/archive/2012/03/26/mixing-add-service-reference-and-wcf-web-http-a-k-a-rest-endpoint-does-not-work.aspx在這個問題上多了很多信息。

+0

你在鏈接的線程中的示例代碼是非常有用的卡洛斯。我可以建議你在這裏總結一下,包括代碼嗎? – 2013-07-10 15:05:22

+0

擴大答案與更多細節。 – carlosfigueira 2013-07-10 15:48:55

0

我想上面闡述:

雖然這是事實,你不能得到一個WSDL用JSON REST WCF服務添加服務引用,我要做的就是創建兩個氣象數據掛鉤:

  1. 是返回JSON
  2. 是一個XML運回一類的包裝,包括所有的服務類我允許的操作,我把它發現:

public class Discover 
{ 
    public Manager Manager {get;} 
    public Employee Emp {get;} 
    .... 
} 

[OperationContract] 
public Discover DiscoverDTOs()