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

しかし、 ARCASIHTTPRequestはサポートしていません。そこで、代わりにMKNetworkKItを使用することにしました。しかし、私は同じことをするためのサンプル コードを取得していません。

Mugunth Kumar の github からダウンロードしたコードを見たことがありますが、そこではNSMutableDictionaryobject をパラメーターとして使用していました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"];

NSDictioanryJSON、または実際に最も一般的なエンコーディングタイプであるURLまたはx-plistエンコーディング用です。

于 2012-07-26T03:31:57.973 に答える