データテーブルを返す Web サービス関数があります。その Web サービスを実行すると、次のような結果が得られます。
<DataTable xmlns="http://tempuri.org/">
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="FTP" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="FTP">
<xs:complexType>
<xs:sequence>
<xs:element name="Host" type="xs:string" minOccurs="0"/>
<xs:element name="UserName" type="xs:string" minOccurs="0"/>
<xs:element name="password" type="xs:string" minOccurs="0"/>
<xs:element name="port" type="xs:short" minOccurs="0"/>
<xs:element name="FolderPath" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<DocumentElement xmlns="">
<FTP diffgr:id="FTP1" msdata:rowOrder="0">
<Host>192.168.1.10</Host>
<UserName>hiren</UserName>
<password>soni</password>
<port>21</port>
<FolderPath>Images/</FolderPath>
</FTP>
<FTP diffgr:id="FTP2" msdata:rowOrder="1">
<Host>192.168.10.10</Host>
<UserName>hiren1</UserName>
<password>soni1</password>
<port>9021</port>
<FolderPath>Images/</FolderPath>
</FTP>
</DocumentElement>
</diffgr:diffgram>
</DataTable>
SOAP を使用して、Android アプリケーションでこの Web サービスを実行しました。以下は私のEclipseコードです。
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE HttpTransport = new HttpTransportSE(SOAP_ADDRESS);
Object response = null;
try {
HttpTransport.call(SOAP_ACTION, envelope);
response = envelope.getResponse();
} catch (IOException e) {
response = e.toString();
} catch (XmlPullParserException e) {
response = e.toString();
}
return response.toString();
}
受け取ったこのデータの読み方がわかりません。
ちなみに、response.toString() を返すと、次のような結果が得られます。
anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; }; }; }; }; }; }; }; diffgram=anyType{DocumentElement=anyType{FTP=anyType{Host=192.168.1.10; UserName=hiren; password=soni; port=21; FolderPath=Images/; }; FTP=anyType{Host=192.168.10.10; UserName=hiren1; password=soni1; port=9021; FolderPath=Images/; }; }; }; }