iPhone アプリから POST を介して Google App Engine の Java サーブレットにパラメータを送信しようとしています。サーバーがローカルで実行されている場合、これは正常に機能しますが、App Engine にデプロイされる場合、パラメーターは常に null です。なんで?
App Engine コード:
String facebookFriendTokens = (String) req.getParameter("facebookFriendTokens");
//running on localhost, facebookFriendTokens works fine, deployed to GAE it's always null
log.warning("Facebook friends = " + facebookFriendTokens);
iPhoneコード:
NSString *urlString = [NSString stringWithFormat:@"%@/new_huddle?access_token=%@", SERVER_URL, [defaults objectForKey:@"FBAccessTokenKey"]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
NSString *postString = [NSString stringWithFormat:@"facebookFriendTokens=%@&eventDate=%@&placesTokens=%@&name=%@", encodedFriendTokens, encodedDateString, placesQueryStringParm, encodedNameString];
[encodedNameString release];
[encodedDateString release];
[encodedFriendTokens release];
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue: ...
request.getInputStream() を文字列に処理して出力すると、期待どおりに表示されます。そのように文字列を解析する必要がありますか?
また、サーブレット フィルターを配置していますが、それがリクエストを変更している可能性はありますか?
サーバーがリダイレクトを発行しているかどうか疑問に思っているため、後続のリクエストですべての本文データが失われています。現在、これをローカルでテストする作業を行っています。