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);
- }];
时间: 2024-10-29 19:08:16

ios调用c#后台接口报文格式的相关文章

JSONP调用MVC后台接口

JSONP前台调用代码: 1.Jquery第一种方式: $.ajax({ "url": "http://localhost:59403/api/Login", //url自行设定 "type": "get", "timeout": 1000, "async": false, "data": { "userName": txtName, "

angular-使用定时器调后台接口

今天写了一个功能,一个是在两个页面中每隔一秒就调用一个后台接口 首先,这个功能使用了JS里的定时器.JS计时器分为一次性计时器和间隔性触发计时器,此次每隔一秒要调用这个接口,使用的是间隔性触发计时器 setInterval() 在js当中setInterval定时器的使用格式是setInterval(调用的函数或执行的代码,间隔时间/毫秒),例如: setInterval("clock()",1000)    或     setInterval(clock,1000) 此前做过angu

thinkjs学习-this.assign传递数据和ajax调用后台接口

在页面加载时,就需要显示在页面上的数据,可以在后台使用this.assign赋值,在前台通过ejs等模板获取:用户点击按钮,或者触发某些事件和后台进行交互时,就需要用到ajax调用后台接口.本文通过一个例子讲述这两种方法的前后台实现.(方便起见,使用jQuery封装的ajax)' (ps:ajax调用后台接口的情形通常是用户触发事件,给后台传递一些前台的数据,然后后台根据这些数据进行相关操作,再返回前台一些数据.举个表单提交的例子,用户点击提交按钮之后,将填写的表单信息传递个后台,后台对传过来的

RobotFrameWork接口报文测试-----(三)demo的加强版(数据驱动测试)

在上一篇RobotFrameWork接口报文测试-----(二)demo的升级版基础上,将接口的xml的格式保存在xml文件中,然后程序如果增加一个接口,在xml文件里添加即可,无需修改自动化测试里的其他模块,然后在工具加case就可以了,但是接口取值的数据全部都是直接在case里面录入的,也就是说,每增加一条测试用例,就需要在工具内添加一条case,测试数据始终都是在工具内控制,这让以前使用excel管理过测试数据的我感觉很不爽,总感觉得把数据放到excel内,然后实现数据驱动测试. 围绕着这

SOAP学习,构建实际的报文格式

因为需要做一个SOAP的接口对接,对方环境没有弄好不能抓包,也只会调用不懂格式构成,我们只想做个轻量级的接口,不需要支持SOAP的具体格式,只需要针对接口指定的具体参数名,解析字符串就可以了. 所以需要通过抓包确定一下soap的报文格式,方便做字符串解析和报文拼装. 因此准备构建一个php的soap环境,进行抓包. 当前环境 centos6.3系统,默认php不支持soap,下载了php5.6版本 编译 ./configure  '--with-libxml-dir=/usr/lib' '--w

RobotFrameWork接口报文测试-----(二)demo的升级版

在上一篇,简单的demo实现了讲xml的数据发送服务器端并取得recvi_buf,然后进行了简单的解析的操作.现在就要解决之前提过的2个问题: 1. 步骤这么多,难道每写一个脚本都要重复一次么? 2. 每个接口的sendbuf的xml的格式是不一样的,id不一样,里面的tag的nodename也是不一样的,这要怎么办?难道每个接口都给写一个createSendBuf么,肯定不是这样的,那要怎样去做? 针对第一个问题的解决,可以使用在RF内定义自己的Resource,然后写直接调用资源内定义的关键

干货运用resteasy整合web框架,同时将后台接口以js形式导出到前台

不多说先上 web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/jav

IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,

最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想到其中碰到不少问题,在网上搜索很久一直没有想到的解决方案,最后实现对数据流的分段写入然后后端再来解析流实现的此功能:后端运用WCF中的REST来接收数据:REST还是比较简单的知识,若是不懂可以简单网上了解一下:下面我们先了解一些本次运用到的理论知识: 一:理论知识 由于低层协议特性限制,WCF的流模式只支持如下四种:1:BasicHttpBi

移动支付平台间接口报文解析核心架构及平台交易全程实录

移动支付平台间接口报文解析核心架构及平台交易全程实录 (HttpClient+SpringMVC+Spring3+Hibernate3+自定义Annotation) 课程分类:Java框架 适合人群:中级 课时数量:52课时 用到技术:JavaBean .Spring3.X. SpringMVC. Hibernate3.X.Apache HttpClient 3.x.JUnit4.x.自定义Annotation + java反射技术 涉及项目:移动支付平台间接口 咨询qq:1840215592