在我的应用程序中,我使用SBJson来解析值。 Web服务是以dot net开发的。使用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什么都没打印。我的代码中有任何问题,或者问题出在另一端,我的意思是在dotnet web服务中。
答案 0 :(得分:1)
我认为如果代码在旧的php webservice上运行良好,你应该仔细查看你的.Net webservice。在某些方面它很可能是不同的。尝试使用Chrome Advanced REST client之类的内容来查看每个Web服务如何响应。