【问题标题】:Getting JSON data From a URL Which contains .SVC?wsdl file in iOS 5?从包含 .SVC 的 URL 获取 JSON 数据?iOS 5 中的 wsdl 文件?
【发布时间】:2012-07-06 23:57:08
【问题描述】:

请有人帮我解决这个问题。

如何从 iphone (ios5) 中包含 .SVC 文件的 URL 获取 JSON 数据?

链接如下:http://156.160.45.118/api/Login.svc?wsdl(非原创)

和参数是:电子邮件和密码。

那么如何验证登录凭据?

我的代码:

NSString *username = emailField.text;
 NSString *password = passwordField.text;
 NSMutableDictionary *dictionnary = [NSMutableDictionary dictionary];
 [dictionnary setObject:username forKey:@"user_email"];
 [dictionnary setObject:password forKey:@"user_password"];

 NSError *error = nil;
 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary
 options:kNilOptions
 error:&error];   

 NSString *urlString = @"http://156.160.45.118/api/Login.svc?wsdl";
 NSURL *url = [NSURL URLWithString:urlString];

 // Prepare the request
 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
 [request setHTTPMethod:@"POST"];
 [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
 [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
 [request setValue:@"json" forHTTPHeaderField:@"Data-Type"];
 [request setValue:[NSString stringWithFormat:@"%d", [jsonData length]]  forHTTPHeaderField:@"Content-Length"];
 [request setHTTPBody:jsonData];    

 NSError *errorReturned = nil;
 NSURLResponse *theResponse =[[NSURLResponse alloc]init];
 NSData *data = [NSURLConnection sendSynchronousRequest:request
 returningResponse:&theResponse
 error:&errorReturned];
 if (errorReturned) 
 {
 //...handle the error
 }
 else 
 {
 NSString *retVal = [[NSString alloc] initWithData:data
 encoding:NSUTF8StringEncoding];
 NSLog(@"%@", retVal);

 }

【问题讨论】:

  • 谢谢格雷厄姆。请再次检查我编辑的问题。
  • 我投了反对票,因为您的问题最初是“请给我一些代码”,并且您没有展示您已经尝试过的内容,也没有展示您自己的任何努力。我看到您现在已经编辑了您的问题,但它不会让我删除我的反对票。
  • @ok Graham 没问题。但是如果您有任何解决方案,请在此处发布
  • 只搜索 JSON iPhone。我相信你会找到很多示例代码
  • @Nick 实际上我尝试使用上面的代码并没有找到结果。所以我不知道我哪里出错了。请大家找出来。

标签: ios json post xcode4.2


【解决方案1】:

通过研究很多东西,我终于得到了答案。

NSString *username = emailField.text;
        NSString *password = passwordField.text;
        NSMutableDictionary *dictionnary = [NSMutableDictionary dictionary];
        [dictionnary setObject:username forKey:@"user_email"];
        [dictionnary setObject:password forKey:@"user_password"];

        NSError *error = nil;
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary
                                                           options:kNilOptions
                                                             error:&error];   

        NSString *urlString = http://156.160.45.118/api/Login.svc/login;

        NSURL *url = [NSURL URLWithString:urlString];
 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
        [request setHTTPMethod:@"POST"];

        [request setHTTPBody:jsonData];
        NSURLResponse *response = NULL;
        NSError *requestError = NULL;
        NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];
        NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] ;
         NSLog(@"%@", responseString); 

【讨论】:

  • 我在这个 svc 概念中遇到了问题。你能解释一下吗?
  • 你能提交你的代码吗?并解释是什么问题,我会尽力帮助你。
猜你喜欢
  • 1970-01-01
  • 2017-11-12
  • 2016-01-13
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多