[Seasar-user] $B!Z$O$8$a$^$7$F![(Bseasar$B$r;H$$;O$a$^$7$?!#(B

B mba.nifty.ne.jp $B?";3G=@.B ueyama
2003年 11月 12日 (水) 15:43:33 JST


はじめまして。植山と申します。
Web+DBマガジンの記事を読み、さっそくseasarをインストールしてみました。
1) ドキュメントを一通り読んで
2) サンプルを動かして
3) サンプルを修正して再度動かして
といろいろ試しています。

早速ですが質問です。
examples.org.seasar.nazuna.AddRuletのdoExecuteのパラメータをint型に変更
して、
examples.org.seasar.nazuna.AddRuletClientもそれに応じて
Nazuna.executeRuletの
第二引数をInteger型に変更しました。正常に動作しました。

ところが、
ExecuteRulet.xmlを以下のように修正してExecuteRuletClientを実行するとエ
ラーとなります。
int型を引数とするRuletをFlowletから呼べない状況です。

Nazuna.executeRulet(String, Object)と定義されていて、
executeRulet(String, Integer)と
呼び出しているのに「executeRulet not found」となるのはなぜだろう?
と悩んでます。どなたか「なぜエラーとなるのか?」「エラーとならない呼び出
し方は何か?」
をご教授願えないでしょうか?
どうぞよろしくお願いします。

------------------------------------------------------------------------
-
<ソース抜粋>
<local>
<var name="b" className="java.lang.Integer"/>
</local>
<const name="RULET_NAME">'examples.org.seasar.nazuna.AddRulet'</const>
<stmt>b := new java.lang.Integer(1)</stmt>
<stmt>out.println(b)</stmt>
<stmt>executeRulet(RULET_NAME,b)</stmt>  ・・・・・ここでエラー
<stmt>out.println(b)</stmt>

<エラー内容>
org.seasar.util.SeasarException: [ESSR0347]Exception ocurred at
/flowlet[1]/stmt[3], because org.seasar.util.SeasarException: [ESSR0001]
executeRulet not found
	at
org.seasar.nazuna.RuleContextImpl.throwSeasarExcepton(RuleContextImpl.ja
va:101)
	at org.seasar.nazuna.Flowlet.executeReal(Flowlet.java:35)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at org.seasar.util.Reflector.invoke(Reflector.java:293)
	at
org.seasar.nazuna.NazunaTransAttribute$Supports.invoke(NazunaTransAttrib
ute.java:60)
	at org.seasar.nazuna.Flowlet.execute(Flowlet.java:22)
	at org.seasar.nazuna.Nazuna.execute(Nazuna.java:76)
	at
examples.org.seasar.nazuna.ExecuteRuletClient.main(ExecuteRuletClient.ja
va:17)
Caused by: org.seasar.util.SeasarException: [ESSR0001]executeRulet not
found
	at org.seasar.nazuna.MethodExp.invoke(MethodExp.java:80)
	at org.seasar.nazuna.MethodExp.invoke(MethodExp.java:56)
	at org.seasar.nazuna.MethodExp.evaluateValue(MethodExp.java:42)
	at org.seasar.nazuna.StmtTag.execute(StmtTag.java:18)
	at org.seasar.nazuna.Flowlet.executeReal(Flowlet.java:30)
	... 9 more







Seasar-user メーリングリストの案内