- NSString *soapMessage = - [NSString stringWithFormat: - @"<?xml version=\"1.0\" encoding=\"utf-8\"?>" - "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" - "<soap:Body>" - "<Save xmlns=\"http://www.myapp.com/\">" - "<par1>%i</par1>" - "<par2>%@</par2>" - "<par3>%@</par3>" - "</Save>" - "</soap:Body>" - "</soap:Envelope>", par1, par2, par3 - ]; - NSURL *url = [NSURL URLWithString:@"http://....asmx"]; - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; - - NSString *msgLength = [NSString stringWithFormat:@"%lu", (unsigned long)[soapMessage length]]; - - [request addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; - [request addValue: msgLength forHTTPHeaderField:@"Content-Length"]; - - [request setHTTPMethod:@"POST"]; - [request setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]]; - - AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; - operation.responseSerializer = [AFXMLParserResponseSerializer serializer]; - [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { - if([self.delegate respondsToSelector:@selector(myAppHTTPClientDelegate:didUpdateWithWeather:)]){ - [self.delegate myAppHTTPClientDelegate:self didUpdateWithWeather:responseObject]; - } - } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - if([self.delegate respondsToSelector:@selector(myAppHTTPClientDelegate:self:didFailWithError:)]){ - [self.delegate myAppHTTPClientDelegate:self didFailWithError:error]; - } - }]; - - [operation start]; UPDATE NSDictionary *s_request = @{@"par1": [NSString stringWithFormat:@"%i", par1], @"par2": par2, @"par3": par3, @"par4": [NSString stringWithFormat:@"%i", par4], @"par5": par5}; AFHTTPSessionManager* s_manager = [[AFHTTPSessionManager alloc] init]; [s_manager POST:@"http://192.168.10.26/mywebservice/myservice.asmx?op=MethodName" parameters:s_request success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"DONE!"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"FAILED %@, %@", [error localizedDescription], [error localizedFailureReason]); }]; - [manager SOAP:@"/WebServices/WeatherWebService.asmx" constructingBodyWithBlock:^(NSMutableURLRequest *request) { - [request setHTTPBody:[soapMessage dataUsingEncoding:NSUTF8StringEncoding]]; - } success:^(AFHTTPRequestOperation *operation, id responseObject) { - NSString *response = [[NSString alloc] initWithData:(NSData *)responseObject encoding:NSUTF8StringEncoding]; - NSLog(@"%@, %@", operation, response); - } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - NSString *response = [[NSString alloc] initWithData:(NSData *)[operation responseObject] encoding:NSUTF8StringEncoding]; - NSLog(@"%@, %@", operation, error); - }];
时间: 2024-10-29 19:08:16