这篇文章,我将通过一个简单的例子来展现iPhone通过get和post方式请求asp.net webservice。
webservice1、创建一个webservice
2、在webconfig中启用http get 和http post。
        <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:0 forHTTPHeaderField:@“Content-Length”];
    [req setHTTPMethod:@“GET”];
    [activityIndicator startAnimating];
    conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
    if (conn) {
        webData = [[NSMutableData data] retain];
    }
复制代码
2、post的方式:
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]; }