如何使用MKNetworkKIt在服务器上发布NSData

时间:2012-07-25 05:38:34

标签: objective-c soap mknetworkkit

目前,我们的应用程序正在使用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个对象作为参数。

1 个答案:

答案 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编码,这些是最常见的编码类型。