2011-06-14 127 views
1

我有一套WCF Web服務,我需要生成一個基於Windows的測試客戶端。有沒有人知道一個將作爲WSDL使用的工具,並根據WSDL中的內容自動生成一些基本表單。任何關於如何使用字段/標籤獲得基本表單而不必明確地創建表單的想法。有什麼想法嗎?從WSDL生成Windows窗體

回答

1

它可以做到。您需要將代理動態編譯到程序集中,然後反射出來並使用反射來構建表單。我過去爲ASMX WSDL完成了這個任務,還沒有嘗試過用於WCF WSDL。

您可以使用CSharpCodeProvider類來編譯代碼,並構建ServiceDescription來加載WSDL,然後使用ServiceDescriptionImporter類生成代碼,然後對其進行編譯。這可能需要調整WCF服務,但您可以搜索這些項目,並可能找到一些很好的參考。一旦你擁有了代理類,那只是因爲使用反射來快速創建表單的練習。

我有一個非常好的WSDL測試工具,用於在Microsoft發佈WCF測試客戶端之前用於測試。不幸的是它是專有的,所以我無法釋放源代碼。基本上,我編譯了WSDL,將所有的Web方法放入列表框中,當您選擇一個Web方法時,它將使用反射檢查Web方法的參數,並使用AddControl()在面板內部構建一個表單。

如果您有任何問題,只是給我一個平安,我可以向您發送電子郵件一些代碼片段...