Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 不完全SOAP响应_Iphone_Ios_Soap_Sudzc - Fatal编程技术网

Iphone 不完全SOAP响应

Iphone 不完全SOAP响应,iphone,ios,soap,sudzc,Iphone,Ios,Soap,Sudzc,我正在使用一个用SUDZ翻译成Objective-C的WDSL,其中一个方法返回一个带有参数的XML来调用服务。问题是,由于SudzC的翻译,它没有按预期工作,我正在寻找某种解决方案(我已经写了将近2个月的电子邮件,SudzC没有回复) 我的想法是:如何获得完整的soap答案,以便稍后对其进行解析?这就足够了 因为问题是它只接受第一个参数。如果我调用该方法,这就是处理程序的答案: 但在答案(“值”)中,没有什么比“NextParameter”更好的了。事实上,如果我使用“objectAtInd

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

我的想法是:如何获得完整的soap答案,以便稍后对其进行解析?这就足够了

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

但在答案(“值”)中,没有什么比“NextParameter”更好的了。事实上,如果我使用“objectAtIndex”,“allkey”。。这给我带来了一个例外

方法如下:

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


我使用Sudzc+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"];

}

我无法在更广泛的问题上帮助您(我不熟悉您特定的
SoapRequest
类,也不熟悉它如何解析参数、发送请求等),但是您的
deserializeTo
参数是
[ParameterData alloc]
,但这可能是
[[ParameterData alloc]init]
。您的评论说它返回了一个
参数数据
,但您显然返回了
SoapRequest
。首先感谢您的回答,但我不清楚。我真的不知道这件事,所以如果你能更详细地解释。。。我必须调用“getParameters”方法,然后将“value”参数发送到“onload”方法?第一行呢:[[Super-soapService]…?再次感谢。我明白了。你可以忽略[Super-soapService],它只是我从我的项目中复制的东西。你需要从Sudzc提供的服务中创建一个新变量,例如service*service=[service-alloc]init];然后可以调用所需的soap方法,并将soap委托设置为self[service getParameters]。而不是实现SoapDelegate。SoapDelegate onload:方法的值变量将是您请求的SOAP响应,我使用XMLDictionary类简化解析过程。我希望这对你有帮助。我已经试过了,但仍然没有成功。我的问题是我没有SOAP响应,实际上我有一个“ParameterData”。我不知道为什么。如何获得原始SOAP响应?非常感谢你。