2012-07-25 52 views
0

目前我們的應用程序使用ASIFormDataRequest在服務器上發佈數據。如何使用MKNetworkKIt在服務器上發佈NSData

我用

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庫馬爾的github下載的代碼,但他們在MKNetworkOperation中使用了NSMutableDictionary對象作爲參數。

回答

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中編碼,這是INFACT最常見的編碼類型。

相關問題