2013-02-02 1 views
0

내 응용 프로그램에서 SBJson 값을 구문 분석하는 데 사용하고 있습니다. 웹 서비스는 닷넷으로 개발됩니다. PHP 웹 서비스를 사용하면 코드가 잘 작동하지만 닷 넷 웹 서비스에서는 응답 값이 표시되지 않습니다. 코드에 오류나 예외 또는 경고가 없습니다. json 출력을 제공하는 dot net webservices에서 값을 검색하는 방법은 무엇입니까?

은 웹 서비스의 JSON 출력입니다 :

{ "헤드": [{ "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 웹 서비스를 의미한다.

+0

urlData가 0이 아니며 urlData.length> 0이고 NSUTF8StringEncoding이 인코딩되어 있습니까? –

답변

1

코드가 오래된 PHP 웹 서비스와 잘 작동했다면 .Net 웹 서비스를 오랫동안보아야한다고 생각합니다. 어떤면에서는 다르다는 가능성이 높습니다. Chrome Advanced REST client과 같은 것을 사용하여 각 웹 서비스가 어떻게 반응하는지 확인하십시오.

+0

답장을 보내 주셔서 대단히 감사합니다. @Stig Brautaset이 Chrome 고급 REST에서 볼 수있는 항목이 없습니다. – Atul

+0

앱에서 호출하는 URL을 넣으십시오. 같은 입력으로 두 서비스의 결과를 비교하십시오. 그들은 같은가요? –

+0

'( { ID = 0; MSG = "아이디 또는 일치하지 비밀번호"; } )는'당신은 – Atul

관련 문제