2012-01-16 3 views
0

以下のような同期メソッドでnsurlconectionリクエストを送信しています。 シミュレータで正常に動作しますが、デバイスでは動作しません。ここ0バイトのデータを返すNSURLConnection

は私のコードは

/////// FOR POST 
    NSString *postData=[NSString stringWithFormat:@"message=%@", 
         [[dicGlobal valueForKey:@"giftMessage"] stringByURLEncode]]; 

    NSData *myRequestData = [ NSData dataWithBytes: [ postData UTF8String ] length: [ postData length]]; 

    NSLog(@"%@",myRequestData); 

    NSURL *url=[NSURL URLWithString:strUrl]; 
    NSMutableURLRequest *request=[[NSMutableURLRequest alloc] initWithURL:url]; 
    [ request setHTTPMethod: @"POST" ]; 
    [ request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
    [ request setHTTPBody: myRequestData ]; 
    NSURLResponse *response; 
    NSError *error; 
    NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&error]; 
    if (returnData) { 
     NSString *content = [NSString stringWithUTF8String:[returnData bytes]]; 
     NSLog(@"%@",content); 
     TBXML *tbxml=[TBXML tbxmlWithXMLString:content]; 

である私のコードをチェックし、問題がどこにあるか私を助けてください。

おかげで、このラインで&よろしく Shivam

+0

、それは正確にデバイス上で何をするのかを実装しますか?デバイスのreturnDataとは何ですか? – bandejapaisa

+0

0バイトのデータを返します –

答えて

-1

このコード

NSString *postData=[NSString stringWithFormat:@"message=%@", 
          [[dicGlobal valueForKey:@"giftMessage"] stringByURLEncode]]; 

     NSData *myRequestData = [ NSData dataWithBytes: [ postData UTF8String ] length: [ postData length]]; 

     NSLog(@"%@",myRequestData); 

     NSURL *url=[NSURL URLWithString:strUrl]; 
     NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:url 
                    cachePolicy:NSURLRequestUseProtocolCachePolicy 
                   timeoutInterval:30.0]; 
     [ request setHTTPMethod: @"POST" ]; 
     [ request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
     [ request setHTTPBody: myRequestData ]; 
     NSURLResponse *response; 
     NSError *error; 
     NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&error]; 
     if (returnData) { 
      NSString *content = [NSString stringWithUTF8String:[returnData bytes]]; 
      NSLog(@"%@",content); 
      TBXML *tbxml=[TBXML tbxmlWithXMLString:content]; 
0

NSURL *url=[NSURL URLWithString:strUrl]; 

strUrlは何ですか。それは宣言され、割り当てられていますか?

あなたのMacからURLにアクセスできるようには思われますが(LAN上のリソースかもしれません)、デバイスからはアクセスできません。 (あなたのデバイスは、他のWi-Fiネットワークや3G経由で接続します)。

MacでWi-Fiネットワークを作成し、このネットワークにデバイスを接続してみてください。 これで問題が解決するはずです。

+0

はい、問題はあるかもしれませんが。同じサーバーから実行されているWebサービスがたくさんあります。これらのメソッドはgetメソッドを使ってデータを返しています –

+0

また、urlを電話でSafariに入れて、結果を確認してください。 – bandejapaisa

関連する問題