2012-03-08 29 views
2

我製作了一個ASP.net Web服務,其中包含一個不帶參數的服務。我想直接從URL查詢中調用ASMX服務。通過HTTP訪問ASMX腳本服務獲取

這是我的服務

[WebMethod] 
[ScriptMethod(UseHttpGet = true)] 
public DataSet getXMLData() 
{ 
    string strQuery = "SELECT * FROM Products"; 
    string strRootNode = "Root"; 
    string strItemNode = "Item"; 

    dbConn = dbConnString; 
    dbQuery = strQuery; 
    . 
    . 
    . 
    . 
    da.Fill(ds, strItemNode); 
    return ds; 
} 

這不起作用

http://localhost:23147/ProductsWS.asmx?op=getXMLData

該服務的頁面調試頁面顯示,但它不會被調用。我希望被自動調用以使查詢返回:

<Root xmlns=""> 
    <Item diffgr:id="Item1" msdata:rowOrder="0"> 
     <ModelName>Tree</ModelName> 
     <UnitCost>7.0000</UnitCost> 
    </Item> 
    <Item diffgr:id="Item2" msdata:rowOrder="1"> 
     <ModelName>Stump</ModelName> 
     <UnitCost>13.0200</UnitCost> 
    </Item> 
</Root> 

我該如何去做這件事?

+0

首先,您使用的這些.NET的版本?如果您使用.NET 3.0或更高版本,那麼您根本不應該創建ASMX Web服務。您應該使用WCF來代替。其次,請更清楚你的要求。你是什​​麼意思「傳遞一(1)個URL」? 「服務的xml文件」是什麼意思?你的意思是WSDL? – 2012-03-08 00:47:12

+0

感謝您的回覆。發佈更新以澄清 – dsgrant07 2012-03-08 00:53:38

+0

您還沒有回答我的問題。你想達到什麼目的?你可以發佈服務的代碼嗎? – 2012-03-08 01:04:25

回答

3

這是調用服務的網址:

http://localhost:23147/ProductsWS.asmx/getXMLData 
+0

好的。我甚至沒有注意到他使用了錯誤的操作名稱。 – 2012-03-10 22:44:59

相關問題