invoke sql

I am a new comer to IDM and I am starting a little RnD in Sun Java Identity Manager for an up and coming project. I am creating a rule using Business Process Editor (BPE). I am trying the invoke ?lt;invoke name='sql' class='com.waveset.util.JdbcUtil'>?method with the Map constructor method. ../javadoc/com/waveset/util/JdbcUtil.html#sql(java.util.Map). All I am trying to do below is insert a row into a mysql DB with 4 bind parameters. I have successfully inserted a row with one bind parameter but when I add 2-4 bind parameters it always bombs on me and gives the output below. I can assure you all my values are set including arg 2. Any help would be appreciated.

Also I have turned logging on in MySQL and honestly it is no help because I can only see the prepare statement in the logs. I assume that the exception occurs before the execution.

--Snippet of Error?br>XPRESS <invoke> exception:

com.waveset.util.WavesetException: Can't call method sql on class com.waveset.util.JdbcUtil

==> com.waveset.util.WavesetException:

==> java.sql.SQLException: Statement parameter 2 not set.

at com.waveset.util.Reflection.invoke(Reflection.java:895)

at com.waveset.util.Reflection.invoke(Reflection.java:833)

at com.waveset.expression.ExInvoke.evalInternal(ExInvoke.java:171)

at com.waveset.expression.ExNode.eval(ExNode.java:79)

at com.waveset.expression.ExNode.evalToObject(ExNode.java:498)

at com.waveset.object.Rule.eval(Rule.java:933)

at com.waveset.ui.editor.rule.RuleTester.execute(RuleTester.java:268)

at com.waveset.ui.editor.rule.ExpressionEvaluator$10.invoke(ExpressionEvaluator.ja va:597)

at com.waveset.ui.editor.util.SwingUtil$InvokableWrapper.run(SwingUtil.java:1555)

at com.waveset.ui.editor.util.ProgressDialog$2.run(ProgressDialog.java:101)

Wrapped exception:

--Snippet of Rule--

<invoke name='sql' class='com.waveset.util.JdbcUtil'>

<map>

<s>type</s>

<ref>type</ref>

<s>driverClass</s>

<ref>driverClass</ref>

<s>driverPrefix</s>

<ref>driverPrefix</ref>

<s>url</s>

<ref>url</ref>

<s>host</s>

<ref>host</ref>

<s>port</s>

<ref>port</ref>

<s>database</s>

<ref>database</ref>

<s>user</s>

<ref>user</ref>

<s>password</s>

<ref>password</ref>

<s>sql</s>

<s>insert into waveset.form (firstname, lastname, email, phone) value (?,?,?,?)</s>

<s>arg1</s>

<ref>firstname</ref>

<s>arg2</s>

<ref>lastname</ref>

<s>arg3</s>

<ref>email</ref>

<s>arg4</s>

<ref>phone</ref>

</map>

</invoke>

[3073 byte] By [ddwyer1101a] at [2007-11-26 15:59:14]
# 1

Tip 1 : turn on tracing for the class com.waveset.util.JdbcUtil (I'm assuming you know how to do this)

Tip 2 : instead of arg1, arg2, etc. try :

<s>parameters</s>

<list>

<s>john</s>

<s>smith</s

><s>jsmit@foo.com</s>

<s>1234</s

></list>

vinhanta at 2007-7-8 22:20:27 > top of Java-index,Web & Directory Servers,Directory Servers...
# 2
vinhant,Tip #2 worked! Thanks But for the future, how do I turn on tracing for the class.com.waveset.util.jdbcUtil? Is there a properties file I edit like log4j?
ddwyer1101a at 2007-7-8 22:20:27 > top of Java-index,Web & Directory Servers,Directory Servers...
# 3
if these arguments like email etc are inputs to the rule, and if you have referenced them, the best way to test would be1. add all these as rule arguments.2. Then give some input value and test the output.Nsankar
bluveraa at 2007-7-8 22:20:27 > top of Java-index,Web & Directory Servers,Directory Servers...