iPhone/Android開発ブログ -5ページ目

[Android]POST通信での疑問

現在Post通信でサーバーからXMLデータを得ています。


通常のペースで使っていると問題がないのですが、一度通信を行って
アプリはそのままで10分くらい放置し再度通信を行うとSAXExceptionが発生しまいます。

そのSAXExceptionは無視して、再度通信を行うと上手く行くのですが、
初めのSAXExceptionの出る理由と正しい回避方法が判りません。

この原因を判る人が居たらご教授お願いします。
(現在は1度エラーが出ても3回はトライしているので表面上は問題なく動いています)



ソース
URL url = new URL(URLアドレス);

// 接続オブジェクトを取得する
conn = (HttpsURLConnection) url.openConnection();

// 10秒のタイムアウトの設定(設定しないと無制限になる)
conn.setConnectTimeout(10 * 1000);
conn.setReadTimeout(10 * 1000);

// POST可能にする
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();

//POST用のOutputStreamを取得
os = conn.getOutputStream();
PrintStream ps = new PrintStream(os);
//データをPOSTする
ps.print(dataStr);
ps.close();
ps.flush();

in = conn.getInputStream();

// ドキュメントビルダーファクトリを生成
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();

// ドキュメントビルダーを生成
DocumentBuilder builder = dbfactory.newDocumentBuilder();

// パースを実行してDocumentオブジェクトを取得
Document doc = builder.parse(in);   

// ルート要素を取得(タグ名:message)
root = doc.getDocumentElement();

     後はXMLを解析