私のアプリでは、値の解析にSBJsonを使用しています。Webサービスはドットネットで開発されています。PHP Webサービスでは、コードは非常に正常に機能していましたが、ドットネットWebサービスでは、これは応答値を表示していません。コードにエラー、例外、警告はありません。
これは、WebサービスのJSON出力です。
{"Head":[{"id": "0"、 "msg":"ユーザー名またはパスワードが一致しません"}]}
ここではユーザー名のパスワードが間違っていますが、私のコードは間違った値を返していません。
これは私のコードです:
NSString *post = [NSString stringWithFormat:@"key=%@&username=%@&password=%@",key.text,[txtUsername text],[txtPassword text]];
NSLog(@"PostData: %@",post);
NSURL *url = [NSURL URLWithString:@"http://jabdcdfddfsd.aspx"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSLog(@"%@", postData);
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"%@",postLength);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSLog(@"%@",request);
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"%@",response);
NSLog(@"Response code: %d", [response statusCode]);
if ([response statusCode] >=200 && [response statusCode] <300)
{
NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData)
手伝ってください。responseDataは何も出力していません。私のコードに問題があるか、問題はもう一方の端にあります。つまり、ドットネットWebサービスに問題があります。