ios调用c#后台接口报文格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios调用c#后台接口报文格式相关的知识,希望对你有一定的参考价值。
- 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);
- }];
以上是关于ios调用c#后台接口报文格式的主要内容,如果未能解决你的问题,请参考以下文章