No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 35 | 36 | 37 |...| 57 | 58 | 59 || Next»

Axis2 がこけてた部分を直す

何が悪いのか分からんが Mac のサーバ(Darwin + JDK1.4.2_09 + Tamcat5.5) で Axis2 の REST アクセスがこけていたのを Axis2 の一部に修正を加えてどうにかなおした.修正したのは modules/core/src/org/apache/axis2/description/AxisMessage.java で,109 行目あたりに xmlSchemaElement.getQName()!=null && を追加した.

  if (xmlSchemaElement.getQName()!=null && xmlSchemaElement.getQName().equals(getElementQName())) {

なぜか知らんが xmlSchemaElement.getQName() が null になることがあって NullPointerException で落ちたのがこれまでの状況.null チェック入れたらうまく動くようになった.たぶん,余計な空白とか改行とかをパースした時にテキストエレメントが余計に挿入されるとかが原因でしょう.

ちなみに,JDK1.5 でコンパイルしてたらライブラリのバージョンがおかしいといわれてこけたので,etc/project.properties に下記2行を追加して 1.4 コンパチのバイナリをはくように maven に指定した.

maven.compile.target=1.4
maven.compile.source=1.4

んで,途中で maven-itest-plugin がないといわれてこけるので

maven plugin:download -DgroupId=maven -DartifactId=maven-itest-plugin -Dversion=1.0 -Dmaven.repo.remote=http://people.apache.org/repository 

をやって個別にダウンロードして,さらに ~/.maven/repository/maven/plugins/maven-itest-plugin-1.0.jar を ~/.maven/repository/maven-itest-plugin/plugins/maven-itest-plugin-1.0.jar にコピーしてやる.

オマケに stax-utils-20060501.jar もミスるので http://ws.zones.apache.org/~dims/maven/stax-utils/jars/stax-utils-20060501.jar から ~/.maven/repository/stax-utils/jars/stax-utils-20060501.jar にダウンロード.

さらにオマケに bcprov-jdk13-132.jar もミスるので http://ws.zones.apache.org/~dims/maven/bouncycastle/jars/bcprov-jdk13-132.jar から ~/.maven/repository/bouncycastle/jars/bcprov-jdk13-132.jar にダウンロード.

最後に opensaml-1.0.1.jar もミスるので http://ws.zones.apache.org/~dims/maven/opensaml/jars/opensaml-1.0.1.jar から ~/.maven/repository/opensaml/jars/opensaml-1.0.1.jar にダウンロードする.

結局のところ http://ws.zones.apache.org/~dims/maven/ から全部落とせばいいのかも…

Mavenの使い方が…

よく分からない.Axis2 のコンパイルで maven-itest-plugin がダウンロードできないとか言ってこけるのだが対処の仕方が分からない.やはりちゃんと覚えなければならないようだ.

Axis2 のソースを眺める

サービスがサーバ上で NullPointerException を吐いて止まってしまうためその原因を突き止めようと Axis2 のソースに手を出す始末.log4j でデバッグ情報を吐き出したほうが建設的なのだろうかと思わなくは無いのだが… REST関係のドキュメントが見つからないのがそもそもの原因だ.どこかに無いだろうか?

JavaSrciptでHTTPリクエストを飛ばすには?

どうしたらよいのだろう? ページ切り替えたくないので document の href は変えられない.同一サーバ上に無いリソースにアクセスしたいので Ajax のようなことは出来ない.ダミーの img 要素に対して src を書き換えれば問題ないのだがスマートじゃない.さてどうしたもんか.

C# でグローバルにフック

通常のキーボードやマウスのフックは DLL にエクスポートしたフックプロシージャを使うのだが,C# (.NET) だとこれがうまく出来ないので通常はグローバルフックが出来ないらしい.しかしながら,Low Level Input であればフックがグローバルになるらしく,これを使えば C# でもグローバルフックが出来るとのこと.実際に Web で見つけたソースを元に SetWindowsHookEx に MH_MOUSE_LL を指定してフックしたらうまくいった.ついでにキーボードも問題なく成功.

あとは Low Level Input のレベルでドラッグ中のオブジェクトを取得できるといろいろありがたい.最悪のばあいマウス座標直下にごく小さなウィンドウを作ってドロップのためのイベントを SetInput で投げてしまえば出来るのだが… ドロップ時に何かエフェクトを表示する振りすれば使えそうな手ではある.

java で -jar と -classpath

java -classpath "hoge.jar" -jar huga.jar

とかやったら hoge.jar がクラスパスに入ってくれなくて暫くわけがわからなかった.調べたところによると -jar を指定すると -classpath などが無効化されるらしい.ということで,外部の jar をクラスパスに入れるには META-INF/MANIFEST.MF で

Class-path: hoge1.jar hoge2.jar

とか書いておくことになるらしい.これらのパスはこのマニフェストが入っているアーカイブからの相対パスになるとのこと.とりあえずパスのセパレータとして何が使えるのかわからんのだが空白で動いてたのでよしとしよう.

«Prev || 1 | 2 | 3 |...| 35 | 36 | 37 |...| 57 | 58 | 59 || Next»
Search
Feeds

Page Top