SOAP web service用AFNetWorking实现请求
Web 实现 请求 Service SOAP AFNetWorking
2023-09-14 09:10:07 时间
问:
This is my current call to (asmx) SOAP web service:
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];
But I need to change this to use
AFHTTPSessionManager
.I suppose that I need to use this:
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]); }];This code always fail. Getting error
500
. Do I just need to add method URL or I need to add complete soap message somewhere. What I miss here?
答:
You need to pass parameter in Dictionary like in the following example:
NSDictionary *request = @{@"email": self.email.text, @"password": self.password.text}; [manager POST:login parameters:request success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"DONE!"); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Failed to log in: %@", operation.responseString); }];
相关文章
- 基于canvas和web audio实现低配版MikuTap
- ASP.NET基于IIS反向代理实现Web负载均衡实战演练
- A2D JS框架 - Web API CSRF保护实现
- 深入剖析tomcat之一个简单的web服务器
- 第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码
- 有状态的 web 应用
- [Node.js] Web Scraping Images with Node, Xray, and Download
- JavaScript多线程之HTML5 Web Worker
- Web前端面试真题(算法篇):005篇
- SAP web service开发工具SOAMANAGER里ping按钮的实现细节
- 使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript
- Atitit.多媒体区----web视频格式的选择总结
- Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结
- 基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - ant发送邮件显示源码的解决方法
- 基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - 关于如何手动下载JAR包
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - grid [跨浏览器远程测试-可分布式]
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - cookie操作
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 模拟键盘操作
- 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 元素定位
- 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作
- 《Web安全渗透全套教程(40集)》学习笔记 | SQL注入攻击及防御
- 【云原生之Docker实战】使用Docker部署Web在线聊天室Rocket.Chat
- Web.xml 中增加log4j
- 如何实现Web聊天
- python web py入门(69)- jQuery - 实现页面显示字体的格式切换
- go语言web开发系列之十六:gin框架中通过gorm使用事务
- Session | web应用的session机制、session的实现原理
- Web前端 | JavaScript(DOM编程)
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - cookie操作
- 轮询、长轮询与Web Socket的前端实现