0

目前我们的应用程序正在使用ASIFormDataRequest在服务器上发布数据。

我正在使用

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:urlWeb];
[request setShouldPresentAuthenticationDialog:NO];
[request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"];
[request setRequestMethod:@"POST"];
[request addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"];
[request addRequestHeader:@"SOAPAction" value:@"http://something"];
[request setUsername:@"ABC"]; 
[request setPassword:@"XYZ"]; 
[request setDomain:@"LMN"];
[request appendPostData:[strSoapEnvl dataUsingEncoding:NSUTF8StringEncoding] ];
[request setDelegate:self];
[request setTimeOutSeconds:60];
[request setNumberOfTimesToRetryOnTimeout:2];
[request startAsynchronous];

但是ASIHTTPRequest不支持 ARC。所以我决定使用MKNetworkKIt作为替代品。但我没有得到任何示例代码来做同样的事情。

我已经看到从 Mugunth Kumar 的 github 下载的代码,但他们在那里使用NSMutableDictionary对象作为参数MKNetworkOperation

4

1 回答 1

1

对于 SOAP,您应该使用类似的东西。

[op setCustomPostDataEncodingHandler:^NSString *(NSDictionary *postDataDict) {

    DDXMLDocument *doc = [[DDXMLDocument alloc] initWithXMLString:[rootElement XMLString] 
                                                      options:0 
                                                        error:nil];
    return [doc XMLString];

} forType:@"text/xml"];

NSDictioanry适用于 JSON、URL 或 x-plist 编码,它们实际上是最常见的编码类型。

于 2012-07-26T03:31:57.973 回答