Liferay

Fórumok

Webservice-t kéne csinálnom Liferay-ben, de deploy után, ha létre hozom a klienst, elszáll kivétellel

-Letöltöttem eclipse-t, és a liferay plugin-t hozzá
-beállítottam az sdk-t és a portál tomcat-jét a runtime-nál
-file>new>liferay project
-jobb gomb a projecten>new>service bulider
-service.xml:


<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd" >
< service-builder package-path="com.liferay.test" >
	< author >barii</ author >
	< namespace >Test</ namespace >

	< entity name="Foo" local-service="true" remote-service="true" >
	< /entity >
< /service-builder>

-ant-ban: build-service, build-wsdd, compile, deploy
-megnyitom böngészőben az URL-t, és megjelenik a wsdl fájl
-file>new>web service client
-molyol egy csomót, majd megnyílik egy böngézó ablak, amiben nem nyit meg semmit, mert addigra már nme fut a szolgáltatás
-frissítve a böngészőt a wsdl-el, ezt kapom:


AXIS error

Sorry, something seems to have gone wrong... here are the details:

Fault - ; nested exception is: 
	org.apache.axis.ConfigurationException: java.lang.ClassCastException: org.apache.axis.handlers.http.URLMapper cannot be cast to org.apache.axis.Handler
java.lang.ClassCastException: org.apache.axis.handlers.http.URLMapper cannot be cast to org.apache.axis.Handler
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:302)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
	at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
	at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
	at org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTargetedChain.java:151)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
	at org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.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.server.AxisServer.generateWSDL(AxisServer.java:441)
	at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
	at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
	at com.liferay.portal.servlet.AxisServlet.service(AxisServlet.java:113)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at com.liferay.portal.kernel.servlet.PortalClassLoaderServlet.service(PortalClassLoaderServlet.java:95)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
	at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.processFilter(ThreadLocalFilter.java:35)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:619)

Van esetleg ötletetek, hogy mi lehet? Mi az, amit nekem esetleg be kéne configolni?

Hozzászólások

Off: Ezeken en mindig olyan jokat mosolygok. A NB eseteben en regebben Rubysat szoktam letolteni, es siman tudtam mindig mindent fejleszteni vele a megfelelo pluginek felrakasa utan. Azota se ertem, hogy ha ez a Sunos arcoknak sikerult, az Eclipse-seknek miert nem megy meg mindig?
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

org.apache.axis.handlers.http.URLMapper implementalja a org.apache.axis.Handler tehat castolhato lenne, ha olyan classra probalnad castolni amit az class loader toltott be (vagy a feletese), mint a org.apache.axis.handlers.http.URLMapper -t.

Igen Javaban, egy osztaly egyezesehez kell az is, hogy ugyanaz a classloader toltse be.

Mivel nem latom, hogy neked mi hol van, nem biztos, hogy ez a jo megoldas de a plugined
META-INF/contex.xml -ebe probald ezt berakni:


<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
    <Loader loaderClass="com.liferay.support.tomcat.loader.PortalClassLoader"/>
</Context>

megoldhatja problemat ha portal classlodere toltogeti be ezeket.

ill. megoldas lehet, ha plugendbe bekerulo (egyes)axis jaroktol megszbadulsz vagy hozza adsz. Vannak ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

Elkepzelhetonek tartom, hogy az axis.jar tobbszor is rajta van a classpathon es ez okoz gondot.

ez kb ugy jön létre, hogy kattintgatok hármat, és automatikusan létre jön egy service.xml, és abbol a fájlok. Na most ha nekem ez valamit rosszul hoz létre, akkor szar.
Ennyire viszont nem lehet szar, szóval biztos valahova rosszul kattintgatok, nem?

Több ötletem is van:

- Liferay IDE-t kéne letölteni (szintén Eclipse alapú), azzal még nekem is ment a webservice :)
- liferay.com -on van magyar fórum, ott kérdezz.
- btw liferay.hu is van, éledezik a magyar community, havonta van sörözés, lehet találkozni a gurukkal... :)

--
Gábriel Ákos