目前,我们的应用程序正在使用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
个对象作为参数。
答案 0 :(得分: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编码,这些是最常见的编码类型。