我有這樣的迴應:SudzC問題與SOAP關鍵字
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:SurfaceElementListResponse xmlns:ns2="http://isiows.isiom.fr/schema/DmdCreation" xmlns:ns3="http://isiows.isiom.fr/schema/Error" xmlns:ns4="http://isiows.isiom.fr/schema/DmdDetail">
<SurfaceElementListResult>
<idSurfaceElement>9482</idSurfaceElement>
<name>R04-</name>
<type>NIVEAU</type>
</SurfaceElementListResult>
<SurfaceElementListResult>
<idSurfaceElement>9486</idSurfaceElement>
<name>Zone A</name>
<type>ZONE</type>
</SurfaceElementListResult>
</ns2:SurfaceElementListResponse>
</soap:Body>
</soap:Envelope>
我在等待每一個對象被反序列化到NSDictionary中,因爲它適用於所有除上述一個其他WS響應。 與其他響應相比,在SOAP.m:+ (id) deserialize: (CXMLNode*) element
方法中,語句NSString* type = [Soap getNodeValue:element withName:@"type"];
的所有響應都返回nil,因此它將繼續返回[Soap deserializeAsDictionary:element];
,並且我會得到必要的結果。 在我的情況下,當我達到NSString* type = [Soap getNodeValue:element withName:@"type"];
時,該語句返回第一個對象的「NIVEAU」和另一個對象的「ZONE」,它不允許應用程序執行並執行[Soap deserializeAsDictionary:element];
,並且我得到一個字符串對象而不是NSDictionary作爲解析結果。
你能幫我解決這個問題嗎?
你是什麼意思「我得到格式化的字符串」?問題或問題不是很清楚,請您重新說明一下嗎?並且哪個不允許應用程序執行和執行部分也不清楚!你想要代碼最終做什麼? – doNotCheckMyBlog 2012-08-20 06:29:28
我想要得到一個解決方案,當我的肥皂響應有一個字段名稱 ,這是一個SOAP關鍵字。 –
2012-08-20 06:37:43
WSDL是由您製作還是您有任何控制權?我有類似的問題,我們結束添加命名空間到「類似的命名元素」[見:http://www.w3schools.com/xml/xml_namespaces.asp] – doNotCheckMyBlog 2012-08-20 06:40:04