2012-07-25 3 views
0

현재 애플리케이션은 ASIFormDataRequest을 사용하여 서버에 데이터를 게시합니다. 제가MKNetworkKIt을 사용하여 서버에서 NSData를 POST하는 방법

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]; 

BUT ASIHTTPRequest을 사용 하였다는

ARC를 지원하지 않는다. 그래서 MKNetworkKIt을 대신 사용하기로 결정했습니다. 하지만 동일한 샘플 코드를 얻는 것은 아닙니다.

나는 Mugunth Kumar의 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 인코딩된다.

관련 문제