从SOAP信封中检索类对象?

时间:2011-02-08 14:37:54

标签: java android web-services soap ksoap2

我有一个Web服务,它从数据库查询中向我返回一个类对象。我知道如何从soapObject中检索属性,但该属性包含该对象。所以,例如,如果我使用:

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
        Object obj = resultsRequestSOAP.getProperty("return");

对象的整个值为:“联系人{id =值,用户名=值,位置=值,日期=值}”

问题是:除非我想使用“split”将其分解为字符串,否则我无法做任何事情。我需要知道如何使用我可以使用的类型和值从包络或SoapObject中获取此对象。任何帮助将非常感激。如果需要,我可以发布源代码,但我不认为这对于这么小的问题是必要的。

编辑:当我“观察”SoapObject时,细分是:对象有一个名为“return”的属性,那么这个属性有一个名为“Contacts”的值。这个值为4个属性,这是我需要的值。希望这会有所帮助。

1 个答案:

答案 0 :(得分:2)

听起来像return是一个嵌套的soap对象?我对这个特定的图书馆并不熟悉,但这样的工作会不会这样呢?

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
SoapObject returnObj = (SoapObject)resultsRequestSOAP.getProperty("return");
Integer id = Integer.valueOf(returnObj.getProperty("id");
String username = (String)returnObj.getProperty("value");
...

如果你在某个地方放置一个断点,你应该能够检查对象以确切地知道它们是什么类型,因此需要什么样的铸造。