webService 编程

本文介绍了使用Objective-C进行iOS开发时调用WebService的方法。通过构建SOAP请求并设置HTTP头信息,实现了向指定服务发送POST请求的功能,并展示了如何解析返回的XML数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段时间,一直都在搞 webService 编程和 socket 编程,搞的死去活来的。总算是有点了解和认识,现在作笔录:<p>一,webService源代码</p>        NSString *url = [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><%@ xmlns=\"http://www.zgbeidou.cn/\"><username>%@</username><password>%@</password>
<servicepassword>YFGPS2008</servicepassword></%@></soap:Body></soap:Envelope>",type,nil,nil,type];

 NSString *urlLength = [NSString stringWithFormat:@"%d",[url length]];

 [urlRequest addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

 [urlRequest addValue:urlLength forHTTPHeaderField:@"Content-Length"];

 NSString *SOAPAction_str = [NSString stringWithFormat:@"http://www.zgbeidou.cn/%@",type];

 [urlRequest addValue:SOAPAction_str forHTTPHeaderField:@"SOAPAction"];

 [urlRequest setHTTPMethod:@"POST"];

 [urlRequest setHTTPBody:[url dataUsingEncoding:NSUTF8StringEncoding]];

 //请求并接收返回的数据 

 NSURLResponse *reponse;

 NSError *error = nil;

 NSData *responseData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&reponse error:&error];

 NSMutableString *resultString = [[NSMutableString alloc]initWithData:responseData encoding:NSUTF8StringEncoding];

 //    NSLog(@"urlRequest = %@",resultString);

 //解析xml数据

 GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:responseData options:0 error:nil];

 GDataXMLElement *rootElement = [doc rootElement];
 
    NSData *data = [[rootElement stringValue]dataUsingEncoding:NSUTF8StringEncoding];

 NSArray *arr = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];

 NSLog(@"arr11111 = %@",arr );
 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值