2008年3月31日月曜日

JADファイルが保存できない

eclipseでMEXAプロジェクトのJADファイルを編集したが保存されない。(保存しても、再び開いてみると編集が反映されていない。)

パッケージエクスプローラ上でJADファイルをダブルクリックすると、ApplicationDescriptorEditorでJADファイルが開かれてしまうが、このApplicationDescriptorEditorを使って編集していたのが悪いらしい。
どうやらMEXAプロジェクトでは、Sアプリ用のJADエディタ(JadEditor)を使って編集しないと保存されない模様。

2008年3月28日金曜日

apacheのログにユーザーエージェントを出力させる

apacheのアクセスログファイル(C:\xampp\apache\logs\access.log)にクライアントのユーザーエージェントを出力させたい場合は、apache設定ファイル(C:\xampp\apache\conf\httpd.conf)内の、
"CustomLog logs/access.log combined"
の行を有効にすればいい。

HTTP通信のパーミッション設定

SアプリでHTTP通信を行うには、
JADファイルでパーミッション
"MIDlet-Permissions: javax.microedition.io.Connector.http"
を宣言する必要がある。

2008年3月10日月曜日

IISのインストール

コントロールパネル--->プログラムの追加と削除--->Windowsコンポーネントの追加と削除
でインターネットインフォメーションサービス(IIS)をチェックしてインストールする。
途中ファイアーウォールに警告されるので、許可を選択する。
これでインストールは完了。
インストールが完了すればIISは動作し始める。


作成したサイト(http://localhost/WebSite1/mypage_start.aspx)
にアクセスしたら、下記のように言われた。
------------------------------------------------------------------------------
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。
[更新] ボタンをクリックするか、または後でやり直してください。


無効な文字で名前が始まりました。リソース 'http://localhost/WebSite1/mypage_start.aspx' の実行エラーです。ライン 1、位置 2

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="mypage_start.aspx.vb" Inherits="_Default" %>
-^
------------------------------------------------------------------------------


同様の現象について下記サイトには、
VisualStudioを入れた後にIISを入れたことが原因
ではないかとの書き込みがあった
http://rararahp.cool.ne.jp/cgi-bin/lng/dotnet/dotnetlng.cgi?print+200605/06050005.txt
------------------------------------------------------------------------------
クレオ 2006/05/11(木) 12:49:02

実は、VisualStudioをインストールした後に、IISをインストールしました。
これが原因でしょうか?

しかし、
http://park16.wakwak.com/~mimi/dotnet/network/install_iis_after_sdk.html
にならって
aspnet_regiis.exeとregsvr32を実行してみたのですが
aspnet_regiis.exeは無事完了。
regsvr32が失敗してしまいます。
以下のエラーがでます。

aspnet_isapi.dllは読み込まれましたが、DllRegisterServerエントリポイントが見つか
りませんでした。このファイルが登録されていない可能性があります。

クレオ 2006/05/12(金) 08:38:39
[[解決]]

今日になってアクセスしてみたら動きました。(?)
なんにも変えてないんですけどね。
OSの再起動が必要だったのでしょうか?
------------------------------------------------------------------------------


とりあえず
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -i
を実行してみたところ、
エラーが下記のように変わった!
------------------------------------------------------------------------------
'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。

ソース エラー:


行 50: を有効にします。
行 51: -->
行 52:
行 53: セクションは、要求の実行中にハンドル


ソース ファイル: c:\inetpub\wwwroot\website1\web.config 行: 52


--------------------------------------------------------------------------------
バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.832; ASP.NET バージョン:2.0.50727.832
------------------------------------------------------------------------------


下記サイトにエラー回避方法(というかサイトの配置手順)があった!
http://www.takebay.net/~daigo-ao/paddlewiki.pl/title_4153502E4E45542054697073.html
------------------------------------------------------------------------------
Webサイトを配置するためには,

* 「ビルド」⇒「Webサイトの発行」で直接パスを指定して配置する
* さらに,IISで公開できるようにするためには,IISの管理画面で,配置したフォルダのプロパティを開き,「ディレクトリ」タブの「アプリケーションの設定」にある「作成」ボタンをクリック.
o そうすると,アイコンが変わる.これをやらないと以下のような意味不明なエラーがでて困ることになる..
------------------------------------------------------------------------------

これでとりあえず、ローカルアクセスなら(http://localhost/WebSite1/以下には)アクセスできるようになった!
しかし携帯からグローバルアドレスだとアクセスできない!
パケットをキャプチャーしたところ、携帯からのアクセス(TCP-SYN:ポート80)に全く反応していない様子。

下記設定にしたらグローバルアドレスでアクセスできた!
コントロールパネルのファイアウォール設定で
・ファイウォール有効の"例外を許可しない"のチェックをはずす
・詳細設定タブの、ネットワーク接続の設定の、myIPサービスを選択して、設定ボタンをして、"Webサーバー(HTTP)"をチェックする。

これでとりあえず動作確認は完了!

XAMPPデモのセキュリティページが表示されない

XAMPPデモのセキュリティページ(http://localhost/security/index.php)が表示されない。

./htdocs/xampp/lang/jp.php
は存在するが、
./security/htdocs/lang/jp.php
は存在しないのが原因。
コピーしてやると解決する。

XAMPP下のページに設定した認証を解除したい

例えば、C:\xampp\htdocs\xampp下のファイルへの認証を解除したい場合は、
C:\xampp\htdocs\xampp\.htaccess内で"AuthType None"とすれば認証が解除される。

ローカルPC上のサーバに接続できない

ローカルPC上のサーバに接続しようとすると下記例外が発生する。
------------------------------------------------------------------------------
java.lang.SecurityException: Disallowed URL by SDF
at javax.microedition.io.Connector.open(+9)
at javax.microedition.io.Connector.open(+6)
at javax.microedition.io.Connector.open(+5)
at myappli.ServerConnector.run(+7)
------------------------------------------------------------------------------

原因は、トラステッド動作設定の通信を許可するURLをADFに設定していなかったため。

SecurityViolation: 34 getLocationProvider 0

LocationProvider.getLocationProvider()をコールすると"SecurityViolation: 34 getLocationProvider 0"と出る。

原因はADF内に"TrustedAPID"の記述がなかったことだった。
iアプリDXではドコモから割り当てられたこのIDが設定されていないとDX機能を使えないらしい。

実機動作時に待ち受け状態(非活性化状態/休眠状態に)に遷移できない

遷移しようとすると
"ソフトに継続動作できない障害が発生しました"
と表示され、アプリが強制終了されてしまう。
また起動時にいきなり活性化状態になっている点もエミュレーターと動作が違う。

原因は、待ち受けアプリとしての起動方法に誤りがあった(通常起動してしまっていた)ことだった。
待ち受け起動するには、待ち受けアプリとして登録してから待ち受け画面に遷移させる必要がある。

SDメモリカードにアクセスできなくなった

実機でアプリを実行しようとしたところ、以前はSDメモリカードにアクセスできていたのに、突如アクセスできなくなった。

原因はPC上でSDカード内のファイルを削除したことだったらしい。
携帯上でSDカードをフォーマットしなおしたらアクセスできるようになった。

エミュレーターで画面が再描画されない

アプリを実行したが、エミュレータの画面が描画されない(操作しても画面が更新されない)。
エミュレータのウィンドウをを最小化&復元すると画面が更新される。
アプリ自体は動作している様子。
また、eclipseを使わずiアプリ開発キット単体でを起動すると"msvcr71.dllがないため起動できない"と言われる。

msvcr71.dllを適当なサイトからダウンロードして、 C:\WINDOWS\system32に配置することで、再描画されるようになった。

作成したアプリを実行できない #2

eclipse+iアプリ開発キットでプロジェクトを作成し、実行してみたが、実行されない。
(エミュレーターが立ち上がってすぐ終了してしまう。)


原因はコンパイラバージョンの設定間違いだった。
1.5から1.4に変更したら実行できるようになった!!!
変更は[プロジェクト]->[プロパティ]->[Javaコンパイラー]->[コンパイラー準拠レベル]で行う。

作成したアプリを実行できない

eclipse+iアプリ開発キットでプロジェクトを作成し、実行してみたが、"Failed create jar"と出て、実行できない。

原因はJDKへのパスが通っていないことらしい。
コントロールパネル→システム→詳細設定→環境変数新規で 、環境変数"PATH "に、";C:\jdk1.3.1_13\bin"(JDKのbinフォルダ) を追記して再起動することで直った。

例外ログを出力できない?

Global.asaxで例外ログを出力するようにしているのだが、例外が発生してもログファイルが生成されない。

VS2005の組み込みサーバで動作時はログファイルが生成されたのだが、公開ページではログファイルが生成されない。

ためしにプログラム先頭でapp_errorlog.txtへ出力するようにしてみたら、
"パス 'C:\app_errorlog.txt' へのアクセスが拒否されました。"
と表示された。

下記のように、Server.MapPathで取得したパスにファイルを作ることはできた。
----------------------------------------------------------------------------
writer = New System.IO.StreamWriter( _
Server.MapPath("~/App_Data") + "/app_errorlog.txt", _
----------------------------------------------------------------------------