这篇文章,我将通过一个简单的例子来展现iPhone通过get和post方式请求asp.net webservice。
webservice
1、创建一个webservice
2、在webconfig中启用http get 和http post。
<
webServices
>
< protocols >
< add name ="HttpSoap" />
< add name ="HttpPost" />
< add name ="HttpGet" />
< add name ="Documentation" />
</ protocols >
</ webServices >
< protocols >
< add name ="HttpSoap" />
< add name ="HttpPost" />
< add name ="HttpGet" />
< add name ="Documentation" />
</ protocols >
</ webServices >
iphone客户端调用:
1、get的方式:
NSString
*
queryString
=
[NSString stringWithFormat:
@“http: // 10.5.23.117:5111/Service1.asmx/HelloWorld?param=123%@“,
ipAddress.text];
NSURL * url = [NSURL URLWithString:queryString];
NSMutableURLRequest * req = [NSMutableURLRequest requestWithURL:url];
[req addValue:@“text / xml; charset = utf - 8 ” forHTTPHeaderField:@“Content - Type”];
[req addValue: forHTTPHeaderField:@“Content - Length”];
[req setHTTPMethod:@“GET”];
[activityIndicator startAnimating];
conn = [[NSURLConnection alloc] initWithRequest:req delegate :self];
if (conn) {
webData = [[NSMutableData data] retain];
}
[NSString stringWithFormat:
@“http: // 10.5.23.117:5111/Service1.asmx/HelloWorld?param=123%@“,
ipAddress.text];
NSURL * url = [NSURL URLWithString:queryString];
NSMutableURLRequest * req = [NSMutableURLRequest requestWithURL:url];
[req addValue:@“text / xml; charset = utf - 8 ” forHTTPHeaderField:@“Content - Type”];
[req addValue: forHTTPHeaderField:@“Content - Length”];
[req setHTTPMethod:@“GET”];
[activityIndicator startAnimating];
conn = [[NSURLConnection alloc] initWithRequest:req delegate :self];
if (conn) {
webData = [[NSMutableData data] retain];
}
2、post的方式:
< class="brush:objc;gutter:false;">NSString *postString =@"123"; NSURL *url = [NSURL URLWithString: @“http://10.5.23.117:5111/Service1.asmx/HelloWorld2”]; NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; NSString *msgLength = [NSString stringWithFormat:@“%d”, [postString length]]; [req addValue:@“application/x-www-form-urlencoded” forHTTPHeaderField:@“Content-Type”]; [req addValue:msgLength forHTTPHeaderField:@“Content-Length”]; [req setHTTPMethod:@“POST”]; [req setHTTPBody: [postString dataUsingEncoding:NSUTF8StringEncoding]]; [activityIndicator startAnimating]; conn = [[NSURLConnection alloc] initWithRequest:req delegate:self]; if (conn) { webData = [[NSMutableData data] retain]; }
原文链接: http://www.cnblogs.com/zhuqil/archive/2011/07/13/2105640.html