2011-04-08 61 views
2

我在Visual Studio的項目中添加了一個Web服務,但似乎無法解決如何查詢它。從ASP.NET中查詢XML Web服務

Web服務應根據我發送給它的查詢返回XML代碼。

這就是我想要

Dim proxy As New mywebservice.xmlcall() 

    Dim query As String = "Select * FROM table" 

    Dim dataset1 As DataSet = proxy.call(query) 

我似乎獲得錯誤

值類型的「字符串」不能轉換爲「System.Data.DataSet中」

我是新來的WCF網絡服務,我似乎無法工作這一個出

有任何想法嗎?

編輯

<wsdl:operation name="call"> 
    <soap:operation soapAction="http://website.org/Ixmlcall/call" style="document" /> 
    <wsdl:input> 
    <soap:body use="literal" /> 
    </wsdl:input> 
    <wsdl:output> 
    <soap:body use="literal" /> 
    </wsdl:output> 
</wsdl:operation> 

而這正是在WSDL

我得到這個錯誤太多,如果我改變像參數未指定此

Dim dataset1 As DataSet = proxy.call() 

參數代碼「 '公共函數調用(值爲字符串)作爲字符串的'值'

UPDATE

我現在已經改變了一些位,它現在返回一個錯誤

ORA-31011:XML解析失敗ORA-19202:發生在XML處理錯誤LPX- 00229:輸入源是在第0行ORA-06512空錯誤:在 「SYS.XMLTYPE」,線路272 ORA-06512:在 「PM1STEP.XML_FUNCTION_CALL」,線30 ORA-06512:在第1行

不限ID EAS?

+0

你自己的Web服務本身的XML數據,或者你剛剛生成的代理?表面上看,proxy.call正在返回一個字符串,而不是DataSet。你確實說它返回XML。 – tomasmcguinness 2011-04-08 13:37:37

+0

@Jamie:這很危險。以這種方式公開您的底層數據存儲會使其面臨各種各樣的注入攻擊,因此可能會危及您的安全。 – 2011-04-08 13:37:40

+0

@tomasmcguinness web服務安裝在我們的服務器上 – 2011-04-08 13:39:05

回答

0

我成功地完成了這一項。

我需要傳遞一個字符串到Web服務含有這樣

<Name>Joe Bloggs</Name><Date>3 May 2011</Date> 
0

根據http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx

「數據集可以讀取和寫入數據和架構作爲XML文檔」

字符串不是一個XML文檔,雖然它可能包含一個在你的情況。我想想象您需要從您的字符串創建一個XmlDocument,然後將其提供給您的數據集。

+0

我想這些行,但我不明白爲什麼它不會導致編譯時錯誤。 – tomasmcguinness 2011-04-08 14:01:51

+0

請不要發佈.NET 1.1鏈接。 – 2011-04-08 15:44:39