Hi,
I am writing a Salesforce.com web services client portlet; this portlet consumes salesforce web services. They are using AXIS 1.3 so I put this into the /WEB-INF/lib and deployed. The deployment went okay until it loads SOAP binding, it couldn't find concurrent.jar, which is very weird that if this salesforce WS client is a standalone app or normal webapp, it doesn't need concurrent.jar. So I assumed that this concurrent.jar is used by liferay, which is found in /webapp/ROOT/WEB-INF/concurrent.jar, and it is used for something inside the portal.
Now, I moved all these libraries from /webapps/ROOT/WEB-INF/* to c:\tomcat55\shared\lib and ran it again, it ran without any problems!!!
So I guess the problem is that the axis that my WS client portlet loads from /webapps/SalesforceTransformer/WEB-INF/lib/axis.jar cross loads something or requires something inside liferay portal and somehow this changes the classpath or whatsoever, liferay could not find concurrent.jar anymore. Here is my error message if I do NOT move the libraries from ROOT to shared\lib:
01:47:42,828 ERROR [jsp:342]
javax.portlet.PortletException
at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:304)
at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:144)
at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutA
ction.java:232)
at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAc
tion.java:250)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalReques
tProcessor.java:189)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
6)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.
java:437)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:825)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:14
3)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.filters.compression.CompressionFilter.doFilter(Compressio
nFilter.java:115)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFi
lter(LayoutCacheFilter.java:205)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:432)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/Read
WriteLock
at com.liferay.util.axis.SimpleHTTPSender.<clinit>(SimpleHTTPSender.java
:57)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
at org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSD
DTargetedChain.java:157)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSD
DDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDe
ployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeplo
yment.java:410)
at org.apache.axis.configuration.FileProvider.getTransport(FileProvider.
java:257)
at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:332)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:163)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.sforce.soap.enterprise.SoapBindingStub.login(SoapBindingStub.java
:1953)
at ca.omron.salesforce.client.SalesforceConnectionManager.connect(Salesf
orceConnectionManager.java:54)
at ca.omron.salesforce.transformer.SalesforceTransformerPortlet.processA
ction(SalesforceTransformerPortlet.java:50)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServl
et.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
atcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
ispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
patcher.java:499)
at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:295)
... 40 more
Nested Exception is java.lang.NoClassDefFoundError: EDU/oswego/cs/dl/util/concur
rent/ReadWriteLock
at com.liferay.util.axis.SimpleHTTPSender.<clinit>(SimpleHTTPSender.java
:57)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
at org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSD
DTargetedChain.java:157)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSD
DDeployableItem.java:274)
at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDe
ployableItem.java:260)
at org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeplo
yment.java:410)
at org.apache.axis.configuration.FileProvider.getTransport(FileProvider.
java:257)
at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:332)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:163)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.sforce.soap.enterprise.SoapBindingStub.login(SoapBindingStub.java
:1953)
at ca.omron.salesforce.client.SalesforceConnectionManager.connect(Salesf
orceConnectionManager.java:54)
at ca.omron.salesforce.transformer.SalesforceTransformerPortlet.processA
ction(SalesforceTransformerPortlet.java:50)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServl
et.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
atcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
ispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
patcher.java:499)
at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:295)
at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:144)
at com.liferay.portal.action.LayoutAction._processPortletRequest(LayoutA
ction.java:232)
at com.liferay.portal.action.LayoutAction._processActionRequest(LayoutAc
tion.java:250)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:86)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalReques
tProcessor.java:189)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
6)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.
java:437)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:825)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:14
3)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.filters.compression.CompressionFilter.doFilter(Compressio
nFilter.java:115)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFi
lter(LayoutCacheFilter.java:205)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:432)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Unknown Source)
In the current test environment, I can afford the change of those libraries but not in production, so any idea that I can get around this problem? Thanks.
Andy
Please sign in to flag this as inappropriate.