Topic
  • 3 replies
  • Latest Post - ‏2010-03-03T18:57:17Z by SystemAdmin
Izem
Izem
6 Posts

Pinned topic How to use ICI 8.5 in JEE environment

‏2010-02-19T21:24:42Z |
I am working on a proof-of-concept to use ICI 8.5.1 in JEE environment. The client JEE application is using SessionPool, RMI proxy connector, and MultiQuery to interact with OnDemand repository. I added vbr.jar and AccessServices to the application classpath. When I execute a query I get an error (see stack below). AccessServices is trying to access config xml under WebSphere Application Server profile (with a null in the path). When I copy config.xml to that path it works.

Does the client JEE application need to access directly the ICI config file (config.xml)?

Is there a property to set on WAS/application to point to config.xml?

Is there some documentation on how to set up ICI with SessionPool and RMI proxy connector in a distributed JEE environement?
2/19/10 15:37:05:068 EST 0000001d SystemOut O 0 WebContainer : 1 ERROR (Utilities.java:432) - COEO0452E: Unable to deserialize the object from the file: C:\profiles\Manager_1_0\null\config.xml.
java.io.FileNotFoundException: C:\profiles\Manager_1_0\null\config.xml (The system cannot find the path specified.)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:135)
at java.io.FileInputStream.<init>(FileInputStream.java:95)
at com.venetica.vbr.tools.utils.Utilities.deserializeFromXML(Utilities.java:430)
at com.venetica.vbr.configuration.ConfigurationTree.load(ConfigurationTree.java:106)
at com.venetica.vbr.ejb.access.mqa.BasicMultiQueryAgent.getEnableMultiQueryThreadPooling(BasicMultiQueryAgent.java:479)
at com.venetica.vbr.ejb.access.mqa.BasicMultiQueryAgent.execute(BasicMultiQueryAgent.java:110)
at com.venetica.vbr.ejb.access.AccessServices.execMultiQuery(AccessServices.java:2755)
at com.venetica.vbr.client.MultiQuery.execItemQuery(MultiQuery.java:1567)
at com.ocp.com.service.component.iice.ManagerImpl.getDocuments(ManagerImpl.java:309)
at com.ocp.com.service.component.ManagerFacade.getDocuments(ManagerFacade.java:74)
at com.ocp.com.testharness.SearchBean.doSearch(SearchBean.java:306)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
2/19/10 15:37:05:084 EST 0000001d SystemOut O 16 WebContainer : 1 ERROR (Utilities.java:432) - COEO0452E: Unable to deserialize the object from the file: C:\profiles\Manager_1_0\null\config.xml.
java.io.FileNotFoundException: C:\profiles\Manager_1_0\null\config.xml (The system cannot find the path specified.)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:135)
at java.io.FileInputStream.<init>(FileInputStream.java:95)
at com.venetica.vbr.tools.utils.Utilities.deserializeFromXML(Utilities.java:430)
at com.venetica.vbr.configuration.ConfigurationTree.load(ConfigurationTree.java:106)
at com.venetica.vbr.threads.CIThreadPoolExecutor.getInstanceForMultiQuery(CIThreadPoolExecutor.java:108)
at com.venetica.vbr.ejb.access.mqa.BasicMultiQueryAgent.execute(BasicMultiQueryAgent.java:163)
at com.venetica.vbr.ejb.access.AccessServices.execMultiQuery(AccessServices.java:2755)
at com.venetica.vbr.client.MultiQuery.execItemQuery(MultiQuery.java:1567)
at com.ocp.com.service.component.iice.ManagerImpl.getDocuments(ManagerImpl.java:309)
at com.ocp.com.service.component.ManagerFacade.getDocuments(ManagerFacade.java:74)
at com.ocp.com.testharness.SearchBean.doSearch(SearchBean.java:306)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
2/19/10 15:37:05:084 EST 0000001d SystemOut O [!] 15:37:05:084 2/19/10: -405901114845213280 Java Class: com.venetica.vbr.ejb.access.AccessServices --> COEJ0012E: An error occurred while running the federated content query agent.
2/19/10 15:37:05:084 EST 0000001d Manager E Exception in getDocuments: COEJ0012E: An error occurred while running the federated content query agent.
com.venetica.vbr.client.InvalidQueryException: COEJ0012E: An error occurred while running the federated content query agent.
at com.venetica.vbr.ejb.access.AccessServices.execMultiQuery(AccessServices.java:2757)
at com.venetica.vbr.client.MultiQuery.execItemQuery(MultiQuery.java:1567)
at com.ocp.com.service.component.iice.ManagerImpl.getDocuments(ManagerImpl.java:309)
at com.ocp.com.service.component.ManagerFacade.getDocuments(ManagerFacade.java:74)
at com.ocp.com.testharness.SearchBean.doSearch(SearchBean.java:306)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
Caused by: com.venetica.vbr.client.ConfigurationException: COEF0013E: The configuration data cannot be loaded from file: null\config.xml MultiQuery Thread Pool config values retrieved (min: null, max: null, timeout: null). Exception: com.venetica.vbr.client.ConfigurationException: COEF0013E: The configuration data cannot be loaded from file: C:\profiles\Manager_1_0\null\config.xml. Exception: java.io.IOException COEO0452E: Unable to deserialize the object from the file: C:\profiles\Manager_1_0\null\config.xml.
at com.venetica.vbr.threads.CIThreadPoolExecutor.getInstanceForMultiQuery(CIThreadPoolExecutor.java:138)
at com.venetica.vbr.ejb.access.mqa.BasicMultiQueryAgent.execute(BasicMultiQueryAgent.java:163)
at com.venetica.vbr.ejb.access.AccessServices.execMultiQuery(AccessServices.java:2755)
... 35 more
Updated on 2010-03-03T18:57:17Z at 2010-03-03T18:57:17Z by SystemAdmin
  • Izem
    Izem
    6 Posts

    Re: How to use ICI 8.5 in JEE environment

    ‏2010-02-21T21:33:54Z  
    I added Java property vbr.home with the value of IICE_HOME.
  • SystemAdmin
    SystemAdmin
    254 Posts

    Re: How to use ICI 8.5 in JEE environment

    ‏2010-02-23T20:35:51Z  
    • Izem
    • ‏2010-02-21T21:33:54Z
    I added Java property vbr.home with the value of IICE_HOME.
    Hi,

    The error message "java.io.FileNotFoundException: C:\profiles\Manager_1_0\null\config.xml (The system cannot find the path specified.)" indicates that the config.xml file could not be accessed in the directory pointed at by the 'vbr.home' property. To get around this issue, make sure that you have your config.xml file located in the 'vbr.home' directory, or conversely that the 'vbr.home' property is pointed to the directory where your config.xml is located. Also, make sure that the permissions on the config.xml are set appropriately so that your app server will be able to open the file.
  • SystemAdmin
    SystemAdmin
    254 Posts

    Re: How to use ICI 8.5 in JEE environment

    ‏2010-03-03T18:57:17Z  
    Hi,

    The error message "java.io.FileNotFoundException: C:\profiles\Manager_1_0\null\config.xml (The system cannot find the path specified.)" indicates that the config.xml file could not be accessed in the directory pointed at by the 'vbr.home' property. To get around this issue, make sure that you have your config.xml file located in the 'vbr.home' directory, or conversely that the 'vbr.home' property is pointed to the directory where your config.xml is located. Also, make sure that the permissions on the config.xml are set appropriately so that your app server will be able to open the file.
    Hi Izem,

    Just wondering if you got your problem resolved?