On Friday 03 December 2010 10:20:06 am Jürgen CXF User wrote:
> Hi,
> I have the following problem:
> When I configure the RMTxStore via Spring Bean configuration file the
> storage works fine.
> If I attach the RMTxStore to the bus programmatically I recognized that the
> RMTxStore.init() is not called and thus the CXF_* database tables are not
> created. Do somebody knows what I am doing wrong?

Well, I guess the issue is that the init() method isn't public and thus you 
cannot call it.  :-(

I think you could try some reflection magic to  make it work:

RMTxStore aStore = new STPF_RMTxStore();
aStore.setUrl(wsrm_dbURL);

Method m = RMTxStore.class.getDeclaredMethod("init");
m.setAssible(true);
m.invoke();

that should get it called.   ALTERNATIVELY, create a subclass of RMTxStore 
that copies the code from our init method into a new method that you call.

Dan



> Here is the exception:
> ...
> java.sql.SQLSyntaxErrorException: Table/View 'CXF_RM_SRC_SEQUENCES' does
> not exist.
>       at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>       at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
> Source)
> ..
> Caused by: java.sql.SQLException: Table/View 'CXF_RM_SRC_SEQUENCES' does
> not exist.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
> Source)
>       at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcross
> DRDA(Unknown Source)
>       ... 43 more
> Caused by: ERROR 42X05: Table/View 'CXF_RM_SRC_SEQUENCES' does not exist.
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown
> Source)
> 
> Here the code snippet:
> ...
> bf =  new SpringBusFactory();
>       bus = bf.createBus();
>       bf.setDefaultBus(bus);
> 
> add WSRM interceptors to the chain...
> 
>       RMManager aRMManager = bus.getExtension(RMManager.class);
>                  wsrm_dbURL="jdbc:derby:rmdb;create=true";
>       RMTxStore aStore = new STPF_RMTxStore();
>       aStore.setUrl(wsrm_dbURL);
>       aRMManager.setStore(aStore);
>                  bus.setExtension(aRMManager,RMManager.class);
> ...

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to