我想从Objective C应用程序将XML格式的param发送到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
发送到该地址的实施是什么?
答案 0 :(得分: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。
代码行“[engine enqueueOperation:op];”是将请求发送到服务器的部分。 如果你改变主意并想要或者需要处理响应,那么在“[engine enqueueOperation:op];”之前添加类似的内容:“
[op onCompletion:^(MKNetworkOperation *completedOperation) {
NSLog(@"Successful response from server: %@", [completedOperation responseString]);
} onError:^(NSError *error) {
NSLog(@"Error from server; %@", [error debugDescription]);
}];