我有这样的回应: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