0

応答を受け取らずに、XML形式のパラメータをObjective CアプリからWebサービスに送信したい(処理する必要はありません)。それを行うための最良かつ迅速な方法は何ですか?

次のXMLがあるとしましょう:

NSString *xmlParams=[NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"utf-8\"?><R><Root><Grade>33</grade></Root></R>"];

また、XMLを送信するアドレスは次のとおりです。www.myServer.com\ service.asmx

xmlParamsそのアドレスに送信するための実装は何ですか?

4

1 に答える 1

0

同様の質問に答えたので、そのコードの一部をコピーしてここに貼り付けます。

- (void)myFunctionToSendDataToTheServer
{

    MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"myServer.com"];

    MKNetworkOperation *op = [engine operationWithPath:@"/service.asmx"];

    op.postDataEncoding = MKNKPostDataEncodingTypeCustom;

    [op setCustomPostDataEncodingHandler:^NSString *(NSDictionary *postDataDict) {
        return [NSString stringWithFormat:@"<R><Root><Grade>33</grade></Root></R>"];
    } forType:@"application/xml"];

    [engine enqueueOperation:op];
}

ネットワークコードを処理するためにサードパーティのライブラリを追加することをお勧めします。この場合、MKNetworkKitを使用しました。

「[engineenqueueOperation:op];」というコード行 リクエストをサーバーに送信する部分です。気が変わって応答を処理したい、または処理する必要がある場合は、「[engine enqueueOperation:op];」の前に次のようなものを追加してください。

[op onCompletion:^(MKNetworkOperation *completedOperation) {

        NSLog(@"Successful response from server: %@", [completedOperation responseString]);

    } onError:^(NSError *error) {

        NSLog(@"Error from server; %@", [error debugDescription]);
    }];
于 2012-08-20T22:29:48.010 に答える