您的位置:首页 > 其它

WEBService

2016-04-28 15:00 176 查看
<pre name="code" class="objc">-(void)loadWeb{

//    假如在这开始请求
NSString* webServiceBodyStr = [NSString stringWithFormat:@"<Login xmlns=\"http://tempuri.org/\"><user>%@</user><password>%@</password></Login>",_nameText.text,_pwdText.text];
NSString* webServiceStr = [NSString stringWithFormat:@"<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> %@ </soap:Body></soap:Envelope>",webServiceBodyStr];
NSString* SOAPActionStr = [NSString stringWithFormat:@"http://tempuri.org/Login"];
NSURL* url = [NSURL URLWithString:@"http://192.168.100.13:6001/Project201601GISWebService/WebService.asmx?op=Login"];

NSMutableURLRequest* theRequest = [NSMutableURLRequest requestWithURL:url];
NSString* msgLength = [NSString stringWithFormat:@"%2ld",webServiceStr.length];
[theRequest addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue:SOAPActionStr forHTTPHeaderField:@"SOAPAction"];
[theRequest addValue:msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody:[webServiceStr dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection* theConn = [[NSURLConnection alloc]initWithRequest:theRequest delegate:self];
if (theConn) {
NSLog(@"webservice soap 成功");
//        return YES;
}else{
NSLog(@"webservice soap 失败");
//        return NO;
}

}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{

NSLog(@"data is %@",data);

NSString* dataStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

NSXMLParser* par = [[NSXMLParser alloc]initWithData:data];
[par setDelegate:self];
[par parse];
NSLog(@"dataStr is %@",dataStr);
}
#pragma mark xmlparser
//step 1 :准备解析
- (void)parserDidStartDocument:(NSXMLParser *)parser{

}

//step 2:准备解析节点
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
NSLog(@"%@", NSStringFromSelector(_cmd) );
}

//step 3:获取首尾节点间内容
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{

NSLog(@"获取首尾节点间内容%@", string);

// 解析JSON数据
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:[string dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil];
NSString *resultStr = dict[@"isLogin"];
NSLog(@"resultStr is %@",resultStr);

if ([resultStr isEqualToString:@"yes"]) {
// [self loginOk];
}else{
//  [self loginFail];
[self loginOk];
}
}

//step 4 :解析完当前节点
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
NSLog(@"%@",NSStringFromSelector(_cmd) );
}

//step 5;解析结束
- (void)parserDidEndDocument:(NSXMLParser *)parser{

}
//获取cdata块数据
- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock{

}





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: