Java 在Android中解析复杂的WCF响应

Java 在Android中解析复杂的WCF响应,java,android,wcf,ksoap2,Java,Android,Wcf,Ksoap2,我需要在Android下通过SOAP使用WCF Web服务。我使用KSOAP2.5.2来实现这一点。 现在,由于我们不允许以任何方式编辑WCF,我目前无法更改WCF服务返回的输出。这是我的主要问题。为了解决这个问题,我需要从WCF(变通方法)中获得什么: 现在,看起来这是一些微软的专有代码,实际上是一个完整的数据集/xsd(?)我如何将它解析成一个工作数据集,或者至少让我的小安卓能够以某种方式读取它?经过进一步的调查,我了解到KSOAP已经删除了返回的XML,但因为它是一个微软的.NET数据集(

我需要在Android下通过SOAP使用WCF Web服务。我使用KSOAP2.5.2来实现这一点。 现在,由于我们不允许以任何方式编辑WCF,我目前无法更改WCF服务返回的输出。这是我的主要问题。为了解决这个问题,我需要从WCF(变通方法)中获得什么:


现在,看起来这是一些微软的专有代码,实际上是一个完整的数据集/xsd(?)我如何将它解析成一个工作数据集,或者至少让我的小安卓能够以某种方式读取它?

经过进一步的调查,我了解到KSOAP已经删除了返回的XML,但因为它是一个微软的.NET数据集(在KSOAP中没有处理)它返回这样一个奇怪的字符串。 检查HttpTransportSE.responseDump()时,我可以得到一个正常的XML响应。但是,要将响应映射/解析为Java对象,您必须遵循本指南,该指南提供了多种方法:

经过进一步的调查,我了解到KSOAP已经删除了返回的XML,但由于它是Microsoft.NET数据集(未在KSOAP中处理),因此返回的字符串非常奇怪。 检查HttpTransportSE.responseDump()时,我可以得到一个正常的XML响应。但是,要将响应映射/解析为Java对象,您必须遵循本指南,该指南提供了多种方法:

到Michaels文章的链接是关于一般xml解析的。如果您已经运行了KSOAP,您只需执行getResponse,这将为您提供嵌套的SOAPObject,您可以在代码中解析它们,设置POJO或通过getProperty和getAttribute调用进行解析,并根据需要进行迭代。

到Michaels arti的链接cle是关于一般xml解析的。如果您已经运行了KSOAP,则只需执行getResponse,这将为您提供嵌套的SOAPObject,您可以在代码中解析这些对象,设置POJO,或者通过getProperty和getAttribute调用进行解析,然后根据需要进行迭代。

代码部分不是人类可读的。这是服务器响应。它的格式是这样的。我猜它是一个自定义对象,xsd或dataset。看起来有点像JSON。如果它使用JSON反序列化器。你返回它作为什么?代码部分不是人类可读的。这是服务器响应。它的格式是这样的。我猜它是一个自定义对象,xsd或dataset。看起来有点像JSON。如果它使用JSON de序列化程序。您将以什么形式返回它?
anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{}; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; }; }; }; }; }; }; }; diffgram=anyType{DocumentElement=anyType{CL_9_2_4_DestInfo=anyType{DESTINATION=.... LOTs of other data.