- ベストアンサー
Tomcatと連携する方法
- TomcatとiアプリDoja_Ver5.1、MySQLを使いDojaの方からTomcatへアクセスしTomcatからMySQLのデータを取りDojaの方へ表示させたい
- しかし、何度やっても「java.lang.SecurityException: Illegal host」というエラーが出てしまい解決策が見つからない
- 誰かアドバイスをお願いします
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ConnectionException#getStatus()でエラーステータスが得られるので、原因の詳細を調べてみてください。エラーステータスはAPIリファレンスでConnectionExceptionのページを見れば載っています。 また、エラー発生時のTomcatへのアクセスログはどのようになっていますか?何も残っていませんか?
その他の回答 (3)
- cyanberry
- ベストアンサー率50% (117/230)
書き忘れです。 >エミュレータからでは、ローカルのTomcatにはアクセスできないんですね? これは違います。エミュレータなら大丈夫です。携帯電話実機では無理ということです。
お礼
なるほど! エミュレータなら大丈夫なのですね。 昨日アドバイス頂いた通りの記述をPackageURLに記入してみると、Illegal host ではなく、Illegal portになり進展がありました! またIllegal portについて調べて、ちょっと作業進めてみようと思います!
補足
Illegal portは、8080を付け忘れていたために起きました。 そちらを直したところ、今度は com.nttdocomo.io.ConnectionException が発生しました;; いくつかADFの設定で、PackageURLには予想できるものは入れましたが「java.lang.SecurityException: Illegal host」か「com.nttdocomo.io.ConnectionException」のエラーを行ったり来たりという状態です; 他に考えられる原因はありますでしょうか?;;
- cyanberry
- ベストアンサー率50% (117/230)
質問文をよく見ていませんでした。 ADFのPackageURLを「http://localhost:8080/dosei_jisaku.jar」にしてみてください。
お礼
現在、そちらを確認できる場所に居りませんので明日必ず試してみたいと思います! 明日にまた、こちらへ回答の補足として付けますのでお返事の程宜しくお願いします;;
補足
上の回答に補足をさらに付け足せないので、こちらに補足致します; 上記の命令で、どこからエラーに飛んでいるかを調べてみたところ、tryの中にあるc.connect();のところで、エラーに飛んでいるようです。 命令自体は間違っておらず、上の文も間違いはないように思いますが…。現在も原因を調べています;;
- cyanberry
- ベストアンサー率50% (117/230)
エミュレータを使っての話ですよね? 携帯端末からlocalhostにアクセスしてもエラーになるのは当然なので・・・。 iアプリうんぬん以前に「http://localhost:8080/mfs/mfs/test/dosei_jisakuSV」自体は正常に表示できているのでしょうか? 8080ポートが空いていないということはないですか? ADFファイルのパラメータ「useNetwork」に「http」が設定されていますか?
お礼
Cyanberryさん、早速のご回答ありがとうございます。 確かに、DocomoエミュレータのDojaを使っています。 エミュレータからでは、ローカルのTomcatにはアクセスできないんですね? それは、こちらの調べ不足でした;; ポートは、開いています。HttpブラウザでのTomcat連携して表示はできました。 また、UseNetworkにHttpは設定してあります。 これは、根本的に間違っていたのですね; 回答ありがとうございました^^
お礼
なんとか無事、解決致しました^^ 理由はプログラムの原因ではなく、学校施設でのHttpのプロキシ設定が複雑化しており、Doja側の設定が間違っていたので、そちらを直し無事解決致しました! 長々と質問の検証に、回答をありがとうございます^^