ばかげた質問をするのは申し訳ありませんが、Objective-Cの構文にまだ問題があります。したがって、sudzc.comで生成されたコードからこのSOAP応答を取得しました。veh_id
列としておよび列としてSQLSELECT結果が含まれている必要がありversion
ます。
応答オブジェクトとして取得するのはNSMutableArrayです。
NSMutableArray* soapArray = (NSMutableArray*)value;
だから私はそれを歩きます:
unsigned count = [soapArray count];
while (count--) {
id myobj = [soapArray objectAtIndex:count];
NSLog(@"myobj: %@", myobj);
}
私がプリントアウトとして得るものは次のようなものです:
myobj: {
item = {
key = version;
value = 1;
};
SQL結果の各行に対して。これが配列要素のプリントアウトである場合、なぜ列だけがあり、version
列もないのveh_id
ですか?
myobj
タイプのオブジェクトのキーの値にアクセスするにはどうすればよいid
ですか?最初にキャストする必要がありますか?
これは、ZendSoap-Serverから返されるXML文字列です。
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.[myurl].com/soap" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getActiveVehiclesResponse><return SOAP-ENC:arrayType="ns2:Map[23]" xsi:type="SOAP-ENC:Array"><item xsi:type="ns2:Map"><item><key xsi:type="xsd:string">veh_id</key><value xsi:type="xsd:string">1</value></item><item><key xsi:type="xsd:string">version</key><value xsi:type="xsd:string">1</value></item></item><item xsi:type="ns2:Map"><item><key xsi:type="xsd:string">veh_id</key><value xsi:type="xsd:string">3</value></item><item><key xsi:type="xsd:string">version</key><value xsi:type="xsd:string">1</value></item></item><item xsi:type="ns2:Map"><item><key xsi:type="xsd:string">veh_id</key><value xsi:type="xsd:string">4</value></item><item><key xsi:type="xsd:string">version</key><value xsi:type="xsd:string">1</value></item></item></return></ns1:getActiveVehiclesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>