SOAP Webservice用AFNetworking实现请求
2015-04-10 20:11
274 查看
NSString *soapMessage = [NSString stringWithFormat: @"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" "<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/\">\n" "<soap:Body>\n" "<Check2dCode xmlns=\"http://115.28.40.11:8888/webservices/\">\n" "<userID>%@</userID>\n" "<deviceInfo>%@</deviceInfo>\n" "<barcode>%@</barcode>\n" "<totalMoney>%@</totalMoney>\n" "</Check2dCode>\n" "</soap:Body>\n" "</soap:Envelope>\n", self.userid, self.deviceInfo, self.barcode, self.totalMoney ]; //请求发送到的路径 NSURL *url = [[NSURL alloc] initWithString:@"http://115.28.40.11:8888/webservices/AndroidAndIos.asmx"]; NSString *soapActionURL = @"http://115.28.40.11:8888/webservices/Check2dCode"; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [[AFHTTPResponseSerializer alloc] init]; NSString *msgLength = [NSString stringWithFormat:@"%lu", (unsigned long)[soapMessage length]]; [manager.requestSerializer setValue:msgLength forHTTPHeaderField:@"Content-Length"]; [manager.requestSerializer setValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; [manager.requestSerializer setValue:[url host] forHTTPHeaderField:@"Host"]; [manager.requestSerializer setValue:[NSString stringWithFormat:@"%@",soapActionURL] forHTTPHeaderField:@"SOAPAction"]; [manager.requestSerializer setQueryStringSerializationWithBlock:^NSString *(NSURLRequest *request, NSDictionary *parameters, NSError *__autoreleasing *error) { return soapMessage; }]; [manager POST:@"http://115.28.40.11:8888/webservices/AndroidAndIos.asmx" parameters:soapMessage success:^(AFHTTPRequestOperation *operation, id responseObject) { NSString *response = [[NSString alloc] initWithData:(NSData *)responseObject encoding:NSUTF8StringEncoding]; NSLog(@"****success = %@, %@", operation, response); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSString *response = [[NSString alloc] initWithData:(NSData *)[operation responseObject] encoding:NSUTF8StringEncoding]; NSLog(@"****fail = %@, %@, %@", operation, error, response); }];
用图示讲解一下结构:
相关文章推荐
- SOAP web service用AFNetWorking实现请求
- iOS开发-进阶:SOAP web service用AFNetWorking实现请求
- AFNetworking Post请求和Soap请求简单实现
- IOS 使用Http模拟SOAP请求Webservice时内容Unicode编码的实现
- iOS WebService SOAP 请求的实现
- SOAP web service用AFNetWorking实现请求
- iOS - AFNetworking3.0 发送SOAP请求到Webservice
- 提升Web Services性能原来不是通过传说中的压缩Soap请求和响应消息来实现的
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- WebService大讲堂之Axis2(10):使用soapmonitor模块监视soap请求与响应消息 (zhuan)
- Webservice_21_SOAP的基于契约优先开发用户管理_实现Wsdl
- 写在WCF实现RESTFul Web Service之前(三):RESTful WebService VS SOAP WebService
- WebService大讲堂之Axis2(10):使用soapmonitor模块监视soap请求与响应消息
- WebService大讲堂之Axis2(10):使用soapmonitor模块监视soap请求与响
- Android发送SOAP数据给服务器调用webservice,实现手机号归属地查询
- WebService大讲堂之Axis2(10):使用soapmonitor模块监视soap请求与响应消息
- 关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
- 使用SoapHeader实现Soap请求验证 转自(laruence)
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- JavaScript实现WebService的http的Post请求