Class Services.TestClass Extends (%RegisteredObject, %XML.Adaptor)
{
Property DS As %XML.DataSet;
}
和我的web服務類中的以下Web方法:%XML.DataSet創建無效的XML
Method HelloWorld(name As %String) As Services.TestClass [ WebMethod ]
{
Quit ##class(Services.TestClass).%New()
}
這將產生以下XML:
<s:complexType name="TestClass">
<s:sequence>
<s:element minOccurs="0" name="DS" type="s0:DataSet"/>
</s:sequence>
</s:complexType>
<s:complexType name="s_DataSet">
<s:sequence>
<s:element ref="s:schema"/>
<s:any/>
</s:sequence>
</s:complexType>
</s:schema>
我相信s_DataSet名稱實際上應只是數據集,因爲s0:DataSet指向DataSet,而不是s_DataSet
當我使用消耗t他服務我得到以下錯誤:錯誤:鍵入'DataSet @http://tempuri.org'找不到。 (來自SoapUI)
當我將DataSet屬性從TestClass中取出並直接返回時,一切都很好。到底是怎麼回事?
我沒有一個偉大的回答這個問題,但我用這個數據集對象在許多網絡服務中,您已經看到了一些您所討論的奇怪之處。文檔中沒有任何東西應該讓人相信它不能被用作一個類的屬性,但我從來沒有成功地這樣做過。 [鏈接](http://docs.intersystems.com/ens20102/csp/documatic/%25CSP.Documatic.cls?APP=1&LIBRARY=%25SYS&CLASSNAME=%25XML.DataSet)我已經創建了webmethods返回一組數據集使用a%ListOfObjects和%xml.dataset的單個實例。 – mccrackend 2013-02-23 15:24:57
您的webmethods是否將動態的,非類型化的數據集處理爲ListOfObjects? – 2013-02-26 14:01:03