2012-11-08 7 views
5

JSON Webサービスを呼び出すアプリケーションを作成しています。 iPhoneがWiFiネットワークに接続されているときは正常に動作します。しかし、携帯電話のデータネットワークを使用しているときは動作しません。 [NSJSONSerialization JSONObjectWithData:dataオプション:kNilOptionsエラー:&エラー]からエラーが返されています。iOS Webサービスが4gで動作しない

-(BOOL) CallService { 
    NSError *error; 
    NSData *paramData = [NSJSONSerialization dataWithJSONObject:self.parameter options:kNilOptions error:&error]; 

    NSString *serviceUrl = [[NSString alloc] initWithFormat:@"%@%@", self.webHost, self.serviceName]; 
    NSURL *url = [NSURL URLWithString:serviceUrl]; 
    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", [paramData length]] forHTTPHeaderField:@"Content-Length"]; 
    [request setHTTPBody:paramData]; 
    NSError *errorReturned = nil; 
    NSURLResponse *theResponse =[[NSURLResponse alloc]init]; 
    NSData *data = [NSURLConnection sendSynchronousRequest:request 
             returningResponse:&theResponse 
                error:&errorReturned]; 

    BOOL retVal = FALSE; 

    if (errorReturned){ 
     //...handle the error 
     NSLog(@"%@", errorReturned.description); 
    } 
    else { 
     self.serviceResult = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 
     NSLog(@"%@", error); 
     retVal = (BOOL)[self.serviceResult objectForKey:@"Success"]; 
    } 

    return retVal; 
} 

、エラーが返されている:ここに私のコードがあるあなたはJSONエンコーディングまたは結果が混同されているデータているよう

purgeIdleCellConnections: found one to purge conn = 0x1d04d710 
2012-11-07 20:17:43.776 iPressBoxx-iPhone[733:907] 
Error Domain=NSCocoaErrorDomain 
Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" 
(JSON text did not start with array or object and option to allow fragments not set.) 
UserInfo=0x1d04eff0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.} 
+0

返される応答は何ですか? – simbolo

+0

これにはどんな解決策がありますか? – brush51

答えて

0

音が私に聞こえます。

チャールズプロキシ(http://charlesproxy.com)のようなものを使って、生のデータをすべて印刷して、ネットワークリクエストを傍受して何が起こっているのかを確認することをお勧めします。

関連する問題