0

我正在使用将 SUDZ 转换为 Objective-C 的 WDSL,其中一种方法返回带有参数的 XML 以调用服务。问题是由于 SudzC 的翻译,它没有按预期工作,我正在寻找某种解决方案(我已经写了近 2 个月的电子邮件,但 SudzC 没有回答)

我的想法是:我怎样才能得到完整的肥皂答案以便稍后解析它?这可能就足够了。

因为问题是它只取第一个参数。如果我调用该方法,这是处理程序的答案:

处理程序

但是在答案('value')中没有像'NextParameter'这样的东西。事实上,如果我使用 'objectAtIndex'、'allKeys'.. 它会给我一个异常。

在此处输入图像描述

这是方法:

方法

WSDL 正在工作,我尝试过使用 Java 中的原始版本,这里是答案的一小部分:

http://i.imgur.com/dCcOrYg.png

4

1 回答 1

1

我使用 Sudzc + XMLDictionary ( https://github.com/nicklockwood/XMLDictionary ) 类将 SOAP xml 转换为字典。

创建一个新请求并像这样设置委托:

[[super soapService] products:self
                      parameter1:@"1"];

#pragma mark - SoapDelegate

- (void)onload:(id)value {
    NSDictionary *soapDictionary = [NSDictionary dictionaryWithXMLString:value];

    NSDictionary *bodyDictionary = [soapDictionary objectForKey:@"soapenv:Body"];


// here you can parse the SOAP response
    NSDictionary *productsDictionary = [[bodyDictionary objectForKey:@"ns1:prductsresponse"] objectForKey:@"products"];

}
于 2013-08-30T18:53:28.343 回答