2009-07-10 123 views
0

我已經拋出了一個項目,我不得不說我沒有想到從哪裏開始,所以我希望有人能給我一些指點!Newb需要學習如何查詢.asmx網絡服務

我正在使用SharePoint Intranet,並且需要查詢已設置的Web服務。在這個傢伙的話誰設置它:

  1. 該查詢將是一個DataSet(.NET框架)
  2. 數據集將包括1 DataTable中
  3. DataTable的將有3列的結果:名稱,部門和鏈接
  4. 名稱和部門將顯示在GridView中,鏈接字段顯示爲Name字段的基礎PostbackUrl屬性。
  5. 正上方網格中的標題
  6. 將EmptyDataText屬性爲:「無記錄」

現在,我已經與SQL和PHP,AJAX等工作等等,但我沒有,所以我真的不知道用.NET或任何你如何

a)進入有關查詢此數據集 二)在什麼格式它發回的數據

如果我能破解這些2個問題我你好!我很高興我可以格式化結果,並使它看起來很漂亮。我最好的猜測是,它會將XML提要與他談論的列作爲XML中的元素一起發回?

乾杯!

回答

1

如果您正在使用Visual Studio,你應該能夠創建可用於測試連接到Web服務的一個小巧的Web應用程序。如果Web服務具有發佈的位置,則可以將新的Web引用添加到項目中,並將URL連接到要連接到的ASMX。

要做到這一點:

  1. 您的Web項目
  2. 選擇「添加Web引用」
  3. 輸入網址爲您連接到您的網絡服務,並找到Web服務右鍵單擊你想要的定義。
  4. 名稱參考
  5. 按「添加引用」按鈕。

現在,您可以在步驟4

MyWebServiceName ws = new MyWebServiceName(); 
ws.WebServiceMethodName(query); 

使用你給它的名字引用您的代碼本網站引用這至少應該幫助你開始得到來自web服務的信息。

0

您不會以查詢數據庫的方式查詢數據集,因爲它們是具有對象集合的對象。

相反,你會迭代通過抽出你想要的對象集合,然後將此輸出轉換爲適當的數據類型。 '爲每個'循環是一種選擇。

第一款谷歌鏈接「ado.net數據表」 .... http://msdn.microsoft.com/en-us/magazine/cc163709.aspx

有你所需要的一半左右一路下滑。顯然你不關心ado.net連接部分。

此代碼片段可能更有用 - 更短,並顯示明確的迭代。

http://www.eggheadcafe.com/articles/20030903.asp

Alternativley,

給您列出的語言,你可能要問一個更通用的數據格式...如XML你的建議....這將是一個使用更多與語言無關的格式。

它很容易發佈一個新的Web服務方法,它將以字符串格式返回與xml文檔相同的數據集...只需使用數據集的xml方法,將其導入到Xdocument和.toString()它...

+0

確定,這是有道理的,並看起來它的web服務確實返回XML,但我的主要查詢是第一,最重要的: 我該如何查詢web服務,看看它發回? 如果我能從它得到響應,我應該能夠格式化響應。 – MrFidge 2009-07-10 13:12:26

0

對於幫助您測試Web服務並查看返回結果的調試工具,看看STORM。如果您使用WCF服務,還有一個WCF版本。

我發現這個工具對於瞭解Web服務的功能是非常寶貴的。我遇到過的唯一問題是它可能有點挑剔 - 你的網絡服務必須符合標準,否則就會出現漏洞。