Server problem with IAuditableClient
Hi,
im doing a query for work items as follows:
it works fine when run from my PC, but when I deploy it to Tomcat I get IllegalArgumentException on auditableClient when doing findAttribute().
The whole stack looks like this:
Im using the usual to obtain it:
Any ideas anyone?
Zbynek
im doing a query for work items as follows:
IQueryableAttribute modifiedAttribute = attributeFactory.findAttribute(projectArea, IWorkItem.MODIFIED_PROPERTY, auditableClient, null);
AttributeExpression modifiedExpression = new AttributeExpression(modifiedAttribute, AttributeOperation.AFTER, new Timestamp(calendar.getTimeInMillis()));
IQueryableAttribute projectAreaAttribute= attributeFactory.findAttribute(projectArea, IWorkItem.PROJECT_AREA_PROPERTY, auditableClient, null);
AttributeExpression projectAreaExpression= new AttributeExpression(projectAreaAttribute, AttributeOperation.EQUALS, projectArea);
Term term = new Term(Operator.AND);
term.add(modifiedExpression);
term.add(projectAreaExpression);
IQueryResult<IResolvedResult<IWorkItem>> queryResult = queryClient.getResolvedExpressionResults(projectArea, term, IWorkItem.FULL_PROFILE);
it works fine when run from my PC, but when I deploy it to Tomcat I get IllegalArgumentException on auditableClient when doing findAttribute().
The whole stack looks like this:
java.lang.IllegalArgumentException
at com.ibm.team.process.internal.common.util.AbstractProcess.computeConfigurationData(AbstractProcess.java:328)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:313)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:299)
at com.ibm.team.workitem.client.internal.AuditableClientProcess.findProcessConfiguration(AuditableClientProcess.java:68)
at com.ibm.team.workitem.common.internal.EnumerationManager$InternalEnumerations.resolve(EnumerationManager.java:52)
at com.ibm.team.workitem.common.internal.EnumerationManager.updateCache(EnumerationManager.java:198)
at com.ibm.team.workitem.common.internal.util.CacheHelper.internalCheckCache(CacheHelper.java:131)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:81)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:72)
at com.ibm.team.workitem.common.internal.EnumerationManager.internalResolve(EnumerationManager.java:173)
at com.ibm.team.workitem.common.internal.EnumerationManager.resolve(EnumerationManager.java:169)
at com.ibm.team.workitem.common.internal.WorkItemCommon.resolveEnumeration(WorkItemCommon.java:453)
at com.ibm.team.workitem.common.internal.model.EnumerationAttributeType.getNullValue(EnumerationAttributeType.java:41)
at com.ibm.team.workitem.common.internal.model.impl.AttributeImpl.getNullValue(AttributeImpl.java:875)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibm.team.repository.common.internal.util.ItemStore$ItemInvocationHandler.invoke(ItemStore.java:597)
at $Proxy48.getNullValue(Unknown Source)
at com.ibm.team.workitem.common.internal.expression.WorkItemQueryAttributeFactory.getNullValue(WorkItemQueryAttributeFactory.java:274)
at com.ibm.team.workitem.common.internal.expression.WorkItemQueryAttributeFactory.findNonLinkAttributes(WorkItemQueryAttributeFactory.java:238)
at com.ibm.team.workitem.common.internal.expression.WorkItemQueryAttributeFactory.updateCache(WorkItemQueryAttributeFactory.java:172)
at com.ibm.team.workitem.common.internal.util.CacheHelper.internalCheckCache(CacheHelper.java:131)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:81)
at com.ibm.team.workitem.common.internal.expression.WorkItemQueryAttributeFactory.findAttribute(WorkItemQueryAttributeFactory.java:137)
at com.ibm.cz.rational.RTC.getWorkItemsByContributor(RTC.java:650)
at com.ibm.cz.service.WorkItemsModifiedSinceServiceImpl.getWorkItemsSince(WorkItemsModifiedSinceServiceImpl.java:37)
at com.ibm.cz.endpoint.WorkItemsModifiedSinceEndpoint.getWorkItems(WorkItemsModifiedSinceEndpoint.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.ws.server.endpoint.MethodEndpoint.invoke(MethodEndpoint.java:132)
at org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter.invokeInternal(DefaultMethodEndpointAdapter.java:229)
at org.springframework.ws.server.endpoint.adapter.AbstractMethodEndpointAdapter.invoke(AbstractMethodEndpointAdapter.java:53)
at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:231)
at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:172)
at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:88)
at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)
at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:222)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Im using the usual to obtain it:
auditableClient = (IAuditableClient)teamRepository.getClientLibrary(IAuditableClient.class);
Any ideas anyone?
Zbynek
8 answers
Hi,
not sure, but there are differences in the code when developing on the client and the server side. I would try the IAuditableCommon instead. I have some condition that runs on the server and it only uses that.
Hi,
thanks for your reply, but unfortunately it does not help :
Caused by: java.lang.IllegalArgumentException
at com.ibm.team.process.internal.common.util.AbstractProcess.computeConfigurationData(AbstractProcess.java:328)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:313)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:299)
at com.ibm.team.workitem.client.internal.AuditableClientProcess.findProcessConfiguration(AuditableClientProcess.java:68)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.resolveProcessConfiguration(ConfigurationItemManager.java:156)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.readConfigurationItems(ConfigurationItemManager.java:137)
at com.ibm.team.workitem.common.internal.WorkItemTypeManager.readConfigurationItems(WorkItemTypeManager.java:336)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager$CacheManager.updateCache(ConfigurationItemManager.java:44)
at com.ibm.team.workitem.common.internal.util.CacheHelper.internalCheckCache(CacheHelper.java:131)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:81)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:72)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.findConfigurationItem(ConfigurationItemManager.java:95)
at com.ibm.team.workitem.common.internal.WorkItemTypeManager.findConfigurationItem(WorkItemTypeManager.java:232)
at com.ibm.team.workitem.common.internal.WorkItemCommon.findWorkItemType(WorkItemCommon.java:350)
at com.ibm.cz.tis.rational.RTC.createWorkItem(RTC.java:371)
at com.ibm.cz.tis.ws.service.impl.CreateWorkItemServiceImpl.createWorkItem(CreateWorkItemServiceImpl.java:82)
at com.ibm.cz.tis.ws.endpoint.CreateWorkItemEndpoint.handleRequest(CreateWorkItemEndpoint.java:34)
... 32 more
Hi,
not sure, but there are differences in the code when developing on the client and the server side. I would try the IAuditableCommon instead. I have some condition that runs on the server and it only uses that.
Hi,
thanks for your reply, but unfortunately it does not help :
Caused by: java.lang.IllegalArgumentException
at com.ibm.team.process.internal.common.util.AbstractProcess.computeConfigurationData(AbstractProcess.java:328)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:313)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:299)
at com.ibm.team.workitem.client.internal.AuditableClientProcess.findProcessConfiguration(AuditableClientProcess.java:68)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.resolveProcessConfiguration(ConfigurationItemManager.java:156)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.readConfigurationItems(ConfigurationItemManager.java:137)
at com.ibm.team.workitem.common.internal.WorkItemTypeManager.readConfigurationItems(WorkItemTypeManager.java:336)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager$CacheManager.updateCache(ConfigurationItemManager.java:44)
at com.ibm.team.workitem.common.internal.util.CacheHelper.internalCheckCache(CacheHelper.java:131)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:81)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:72)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.findConfigurationItem(ConfigurationItemManager.java:95)
at com.ibm.team.workitem.common.internal.WorkItemTypeManager.findConfigurationItem(WorkItemTypeManager.java:232)
at com.ibm.team.workitem.common.internal.WorkItemCommon.findWorkItemType(WorkItemCommon.java:350)
at com.ibm.cz.tis.rational.RTC.createWorkItem(RTC.java:371)
at com.ibm.cz.tis.ws.service.impl.CreateWorkItemServiceImpl.createWorkItem(CreateWorkItemServiceImpl.java:82)
at com.ibm.cz.tis.ws.endpoint.CreateWorkItemEndpoint.handleRequest(CreateWorkItemEndpoint.java:34)
... 32 more
Hi,
im not sure if this helps anyone but I have found the cause of this problem.
Im mavenized, and for some magic reason, when I add dependency to JAXEN, it starts to throwing that IllegalArgumentException.
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
So solution for me is to use some other XML parser...
Anyone has any idea on why this dependency affects Java Client ???
Zbynek
Hi,
not sure, but there are differences in the code when developing on the client and the server side. I would try the IAuditableCommon instead. I have some condition that runs on the server and it only uses that.
Hi,
thanks for your reply, but unfortunately it does not help :
Caused by: java.lang.IllegalArgumentException
at com.ibm.team.process.internal.common.util.AbstractProcess.computeConfigurationData(AbstractProcess.java:328)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:313)
at com.ibm.team.process.internal.common.util.AbstractProcess.getProjectConfigurationData(AbstractProcess.java:299)
at com.ibm.team.workitem.client.internal.AuditableClientProcess.findProcessConfiguration(AuditableClientProcess.java:68)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.resolveProcessConfiguration(ConfigurationItemManager.java:156)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.readConfigurationItems(ConfigurationItemManager.java:137)
at com.ibm.team.workitem.common.internal.WorkItemTypeManager.readConfigurationItems(WorkItemTypeManager.java:336)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager$CacheManager.updateCache(ConfigurationItemManager.java:44)
at com.ibm.team.workitem.common.internal.util.CacheHelper.internalCheckCache(CacheHelper.java:131)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:81)
at com.ibm.team.workitem.common.internal.util.CacheHelper.checkCache(CacheHelper.java:72)
at com.ibm.team.workitem.common.internal.ConfigurationItemManager.findConfigurationItem(ConfigurationItemManager.java:95)
at com.ibm.team.workitem.common.internal.WorkItemTypeManager.findConfigurationItem(WorkItemTypeManager.java:232)
at com.ibm.team.workitem.common.internal.WorkItemCommon.findWorkItemType(WorkItemCommon.java:350)
at com.ibm.cz.tis.rational.RTC.createWorkItem(RTC.java:371)
at com.ibm.cz.tis.ws.service.impl.CreateWorkItemServiceImpl.createWorkItem(CreateWorkItemServiceImpl.java:82)
at com.ibm.cz.tis.ws.endpoint.CreateWorkItemEndpoint.handleRequest(CreateWorkItemEndpoint.java:34)
... 32 more
Hi,
im not sure if this helps anyone but I have found the cause of this problem.
Im mavenized, and for some magic reason, when I add dependency to JAXEN, it starts to throwing that IllegalArgumentException.
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
So solution for me is to use some other XML parser...
Anyone has any idea on why this dependency affects Java Client ???
Zbynek
Strange but it seems to be working when I use version <b>1.0-FCS</b> of Jaxen...
Zbynek