掲示板

Problems using axis-1.4 in portlet with Liferay 6.0.5

13年前 に Greg Roberts によって更新されました。

Problems using axis-1.4 in portlet with Liferay 6.0.5

New Member 投稿: 11 参加年月日: 10/10/14 最新の投稿
My portlet works fine with liferay 5.2.2 and liferay 5.2.3 but fails to start up in liferay 6.0.5.

I get lots of casting failures when my portlet tries to set up its axis-1.4 services:

===========================================================================

 FATAL [InternalException:88] Exception:
org.apache.axis.ConfigurationException: org.apache.axis.deployment.wsdd.WSDDException: java.lang.ClassCastException: org.apache.axis.encoding.ser.BeanSerializerFactory cannot be cast to org.apache.axis.encoding.SerializerFactory
java.lang.ClassCastException: org.apache.axis.encoding.ser.BeanSerializerFactory cannot be cast to org.apache.axis.encoding.SerializerFactory
        at org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:277)
        at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:542)
        at org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:253)
        at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:233)
        at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:192)
        at org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:139)
        at org.apache.axis.deployment.wsdd.WSDDDocument.<init>(WSDDDocument.java:65)
        at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)
        at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
        at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
        at org.apache.axis.server.AxisServer.<init>(AxisServer.java:88)
        at org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:109)
        at org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:73)
        at org.apache.axis.server.AxisServer.getServer(AxisServer.java:73)
        at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:185)
        at org.apache.axis.transport.http.AxisServletBase.getOption(AxisServletBase.java:396)
        at org.apache.axis.transport.http.AxisServletBase.init(AxisServletBase.java:112)
        at org.apache.axis.transport.http.AxisServlet.init(AxisServlet.java:156)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at com.liferay.portal.servlet.AxisServlet.init(AxisServlet.java:65)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServlet.portalInit(PortalClassLoaderServlet.java:73)
        at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:52)
        at com.liferay.portal.kernel.servlet.PortalClassLoaderServlet.init(PortalClassLoaderServlet.java:44)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
</init></init></init></init></init>


===========================================================================

Presumably liferay 6.0.5 is opening up an axis jar that's incompatible with mine in my portlet ?

How can I work around this problem ?

Is there some way to allow liferay to use his version of axis and my portlet to use another version ?

(BTW my portlet will start up OK if I remove the wsdd file that defines the web services)

Thanks for any guidance.
Greg
thumbnail
12年前 に priti parmar によって更新されました。

RE: Problems using axis-1.4 in portlet with Liferay 6.0.5

New Member 投稿: 24 参加年月日: 10/11/29 最新の投稿
Hi Greg,

try this add dependency jars in your liferay-plugin-package.properties

portal-dependency-jars=\
axis.jar,\
jaxrpc.jar,\
commons-discovery.jar,\
saaj-api.jar,\
log4j.jar,\
wsdl4j.jar,\
commons-logging.jar
12年前 に Greg Roberts によって更新されました。

RE: Problems using axis-1.4 in portlet with Liferay 6.0.5

New Member 投稿: 11 参加年月日: 10/10/14 最新の投稿
Thanks for the suggestion.

Unfortunately I don't think this will work because this would simply load the axis.jar that Liferay has which is incompatible with the axis.jar which I want to use.

If I could define that my portlet only opens *my* version of axis and does not have the liferay one on the classpath I think I would be OK... but I don't know how to do that whilst leaving Liferay's jars in place (because it needs them for other things).

Do you know how to do that?
11年前 に Alex S によって更新されました。

RE: Problems using axis-1.4 in portlet with Liferay 6.0.5

New Member 投稿: 9 参加年月日: 12/08/28 最新の投稿
I'm seeing this problem in V 6.1.1.0(ee), only on one portlet though, no separate Axis JAR, nothing referenced in the "liferay-plugin-package.properties" and it works fine unless the argument to any of my methods is the Service Builder object the interface relates to. As it can't take that object as an argument it makes it pretty useless as an interface. Anyone else seen this?
11年前 に Alex S によって更新されました。

RE: Problems using axis-1.4 in portlet with Liferay 6.0.5

New Member 投稿: 9 参加年月日: 12/08/28 最新の投稿
Ok, turns out re-booting the server and clearing the cache doesn't quite work, but re-booting my development machine has had a positive effect. Totally unable to explain why though.