Forums de discussion

DWR problem... Help me!

Alessio Baisi, modifié il y a 15 années.

DWR problem... Help me!

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
Hello, I have a problem whit dwr. I tried to make the portlet that you can see here: http://apps.tibco.com/dwr/simpletext/index.html.
This is a simple demonstration of how to dynamically update a web-page with text fetched from a web server but dwr doesn't work.
I have read many post and documentation about dwr and I think that it's ok.
I use the extension environment and there isn't any errors in the deployment and in the start of tomcat.
This is my configuration:

*******************************************************************************
init.jsp c:/projects/liferay/ext/ext-web/docroot/html/portlet/ext/reports

<%@ include file="/html/common/init.jsp" %>

<portlet:defineObjects />

<%
PortletPreferences prefs = renderRequest.getPreferences();
%>
******************************************************************************
view.jsp c:/projects/liferay/ext/ext-web/docroot/html/portlet/ext/reports

<%@ include file="/html/portlet/ext/reports/init.jsp" %>

<html>
<head>
<title>DWR Example 1</title>
</head>
<body>

<input type="text" id="name"/>

<input type="button" onclick="javascript:remoteHello();" value="Spedisci Hello"/>

<div id="results">-</div>

</body>
</html>


<!--
<script type='text/javascript' src='/dwr/dwr/interface/Demo.js'></script>
<script type='text/javascript' src='/dwr/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/dwr/util.js'></script>
<script>
function remoteHello() {
var name = DWRUtil.getValue("name");
Demo.sayHello(name, helloCallback);
}

function helloCallback(data) {
DWRUtil.setValue("results", data);
}
</script>
-->
************************************************************************************
Demo.java c:/projects/liferay/ext/ext-web/docroot/html/portlet/ext/reports

package reports;


public class Demo {
public String sayHello(String name) {
return "Ciao, " + name;
}
}

*************************************************************************************
portlet-ext C:\projects\liferay\ext\ext-web\docroot\WEB-INF

<portlet-app>
<portlet>
<portlet-name>EXT_1</portlet-name>
<display-name>Reports</display-name>
<portlet-class>com.ext.portlet.reports.ReportsPortlet</portlet-class>
<init-param>
<name>view-action</name>
<value>/ext/reports/view_reports</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
<portlet-preferences>
<preference>
<name>test</name>
<value>123</value>
</preference>
</portlet-preferences>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
</portlet-app>
****************************************************************************************
web.xml C:\projects\liferay\ext\ext-web\docroot\WEB-INF

<?xml version="1.0"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
</web-app>

<servlet>

<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowImpossibleTests</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

*********************************************************************************************
dwr.xml C:\projects\liferay\ext\ext-web\docroot\WEB-INF

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd">

<dwr>
<allow>
<create creator="new" javascript="Demo">
<param name="class" value="com.reports.Demo"/>
</create>
</allow>
</dwr>


When I click into the button the text doesn't appear. Where is the porblem??? Anyone can help me??? PLEASSSSEEEEEEEE
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
Hi Alessio,

try with this

<script type='text/javascript' src='<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/engine.js'> </script>
<script type='text/javascript' src='<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/util.js'> </script>
<script type='text/javascript' src='<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/interface/Demo.js'></script>

Liferay needs to map the source of the file.


I hope it helps you.

Tony
Alessio Baisi, modifié il y a 15 années.

RE: DWR problem... Help me!

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
Thanks Tony but it doesn't resolve the problem.... the dwr communication isn't established.... i can't explain why it doesn't work..... emoticon
HELP ME PLEASE!
thumbnail
Michael Poznecki, modifié il y a 14 années.

RE: DWR problem... Help me!

Expert Publications: 301 Date d'inscription: 10/12/08 Publications récentes
Tony Fernández García:
Hi Alessio,

try with this

<script type='text/javascript' src='<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/engine.js'> </script>
<script type='text/javascript' src='<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/util.js'> </script>
<script type='text/javascript' src='<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/interface/Demo.js'></script>

Liferay needs to map the source of the file.


I hope it helps you.

Tony


Hello,
when I try this, I get "renderResponse cannot be resolved". Can you tell me what I need to add to the page to fix this?

Thanks.
thumbnail
Thomas Berg, modifié il y a 14 années.

RE: DWR problem... Help me!

Regular Member Publications: 131 Date d'inscription: 07/09/09 Publications récentes
Make sure you have the following line in your page:

<portlet:defineobjects />

This makes the objects renderRequest, renderResponse and portletConfig available.


To use the <portlet> tag you have to include the tag-library

&lt;%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%&gt;


In your web.xml:

<jsp-config>
    <taglib>
        <taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri>
        <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
    </taglib>
</jsp-config>


HTH

/ Thomas
shrikanth k shrikanth, modifié il y a 8 années.

RE: DWR problem... Help me!

Regular Member Publications: 118 Date d'inscription: 11/12/13 Publications récentes
Hello sir,
I am new @liferay Iam trying to call DWR in Login.jsp using Ext portlet.

1) I Have created EXT as LogAct-ext ,In that i have copied dwr.jar in this path /ext-lib/portal/dwr.jar
2) i have added dwr servlet code in web.xml path is /ext-web/dockroot/WEB_INF/web.xml

<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

3) I have created dwr.xml in /ext-web/dockroot/WEB_INF/dwr.xml in this path
<dwr>
<allow>
<create creator="new" javascript="Person" scope="script">
<param name="class" value="com.practice.Person"/>
</create>
</allow>
</dwr>

4) I have created my own class in docroot/WEB_INF/ext-impl/src/com/practice/Person.java
public class Person {

public String getData(int index) {
String name=new String("meera");
return name;
}

}
5) lastly i have called this dwr in login.jsp Path is /ext-web/dockroot/html/portlet/login/login.jsp
<script type='text/javascript' src='/dwr/interface/Person.js'> </script>
<script type='text/javascript' src='/dwr/engine.js'> </script>
<script type='text/javascript' src='/dwr/util.js'></script>
<button id="checkDwr">click1</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#checkDwr").click(function(){
alert("hello");
Person.getData(42, {
callback:function(str) {
alert(str);
}
});
});
});
</script>

My problem is that i have not able to get the values from DWR .Iam getting "NOT FOUND " alert when iam calling dwr.

So please help me were iam going wrong in DWR using EXT

Regards
Shrikanth K Domala
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
Hi I don´t know if is an error with the Copy-Paste but in your web.xml

the Servlet definition must be into <web-app> </web-app>.

Alessio Baisi:

****************************************************************************************
web.xml C:\projects\liferay\ext\ext-web\docroot\WEB-INF

<?xml version="1.0"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
</web-app>

<servlet>

<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowImpossibleTests</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>


You must have

<?xml version="1.0"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

<servlet>

<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowImpossibleTests</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>


</web-app>

Another thing is that I use <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>, which is the class used with DWR 2.0, but the line you use, works too.

I also use another head for the web.xml but I don´t think that is wrong.

My head is:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


Regards,
Tony
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
Alessio Baisi:


<!--
<script type='text/javascript' src='/dwr/dwr/interface/Demo.js'></script>
<script type='text/javascript' src='/dwr/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/dwr/util.js'></script>
<script>
function remoteHello() {
var name = DWRUtil.getValue("name");
Demo.sayHello(name, helloCallback);
}

function helloCallback(data) {
DWRUtil.setValue("results", data);
}
</script>
-->


Ahother thing, try this:


function remoteHello() {
var name = dwr.util.getValue("name");
Demo.sayHello(name, function(data) {
dwr.util.setValue("results", data);
});
}
Alessio Baisi, modifié il y a 15 années.

RE: DWR problem... Help me!

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
i tried all the setting that you give me but no solution for my problem.... emoticon
Anyone can send me a dwr's example that works??? please...

PS: Thanks Tony
Alessio Baisi, modifié il y a 15 années.

RE: DWR problem... Help me!

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
if I start liferay in debug mode http://localohost:8080/dwr I see:
Classes known to DWR:



it's a porblem in the configuration of dwr???
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
Hi Alessio,

I´d tried to do the same with you and I notice that you import the js files with "/dwr/dwr", but only one "dwr" is the correct path, so you must put "/dwr/engine.js"

Possibily <%= renderResponse.encodeURL(renderRequest.getContextPath())%> is not needed.

My code is:


JSP


<script type="text/javascript" src="<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/interface/Demo.js">
</script>
<script type="text/javascript" src="<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/engine.js">
</script>
<script type="text/javascript" src="<%= renderResponse.encodeURL(renderRequest.getContextPath())%>/dwr/util.js">
</script>
<script type="text/javascript">
function getMessage() {
	var name = dwr.util.getValue("message");
	Demo.sayHello(name, function (data) {
		dwr.util.setValue("result", data);
	});
}
</script>


This is the <b>Sample JSP Portlet</b>. Use this as a quick way to include JSPs.

<form>
	<input type="text" name="message" id="message">
	<input type="button" value="Say Hello" onclick="getMessage();">
	<span id="result">
	</span>
</form>



dwr.xml

<!--?xml version="1.0" encoding="UTF-8"?-->


<dwr>
	<allow>
		<create creator="new" javascript="Demo">
			<param name="class" value="com.sample.jsp.dwr.Demo">
		</create>
	</allow>
</dwr>



web.xml

<!--?xml version="1.0" encoding="UTF-8"?-->


<web-app>

	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<display-name>DWR Servlet</display-name>
		<servlet-class>
			org.directwebremoting.servlet.DwrServlet
		</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>
</web-app>



Demo class

package com.sample.jsp.dwr;

public class Demo {
	
	public String sayHello(String message) {
		return "Hi " + message;
	}

}




You can also put http://<your_server>:<your_port>/<your_portlet_path>/dwr to see if the dwr servlet is working.

Regards,
Tony
Alessio Baisi, modifié il y a 15 années.

RE: DWR problem... Help me!

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
I tried to copy in all parts your code... Now Liferay recognizes the dwr servlet emoticon... Now there is a error in Demo.class:

java.lang.IllegalArgumentException: Class not found: com.reports.dwr.Demo
at org.directwebremoting.create.NewCreator.setClass(NewCreator.java:46)
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.directwebremoting.util.LocalUtil.setProperty(LocalUtil.java:388)
at org.directwebremoting.util.LocalUtil.setParams(LocalUtil.java:347)
at org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:96)
at org.directwebremoting.impl.DwrXmlConfigurator.loadCreate(DwrXmlConfigurator.java:274)
at org.directwebremoting.impl.DwrXmlConfigurator.loadAllows(DwrXmlConfigurator.java:224)
at org.directwebremoting.impl.DwrXmlConfigurator.configure(DwrXmlConfigurator.java:170)
at org.directwebremoting.impl.ContainerUtil.configureFromDefaultDwrXml(ContainerUtil.java:264)
at org.directwebremoting.impl.ContainerUtil.configureContainerFully(ContainerUtil.java:421)
at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:79)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
10:59:12,671 ERROR [DefaultCreatorManager:75] Creator: 'NewCreator[Demo]' for Demo.js is returning null for type queries.
10:59:12,687 WARN [DefaultCreatorManager:59] Names of known classes are:
10:59:12,687 WARN [ExceptionHandler:67] Unhandled Exception
java.lang.SecurityException: No class by name: Demo
at org.directwebremoting.impl.DefaultCreatorManager.getCreator(DefaultCreatorManager.java:189)
at org.directwebremoting.impl.DefaultRemoter.generateInterfaceScript(DefaultRemoter.java:158)
at org.directwebremoting.servlet.InterfaceHandler.handle(InterfaceHandler.java:50)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at org.directwebremoting.servlet.DwrServlet.doGet(DwrServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:117)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.compression.CompressionFilter.processFilter(CompressionFilter.java:141)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.header.HeaderFilter.processFilter(HeaderFilter.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)

why the compiler not recognizes the class?? I must change the path? Help me please....

Ps:thanks for all
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
Alessio Baisi:
I tried to copy in all parts your code... Now Liferay recognizes the dwr servlet emoticon... Now there is a error in Demo.class:

java.lang.IllegalArgumentException: Class not found: com.reports.dwr.Demo
at org.directwebremoting.create.NewCreator.setClass(NewCreator.java:46)
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.directwebremoting.util.LocalUtil.setProperty(LocalUtil.java:388)
at org.directwebremoting.util.LocalUtil.setParams(LocalUtil.java:347)
at org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:96)
at org.directwebremoting.impl.DwrXmlConfigurator.loadCreate(DwrXmlConfigurator.java:274)
at org.directwebremoting.impl.DwrXmlConfigurator.loadAllows(DwrXmlConfigurator.java:224)
at org.directwebremoting.impl.DwrXmlConfigurator.configure(DwrXmlConfigurator.java:170)
at org.directwebremoting.impl.ContainerUtil.configureFromDefaultDwrXml(ContainerUtil.java:264)
at org.directwebremoting.impl.ContainerUtil.configureContainerFully(ContainerUtil.java:421)
at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:79)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
10:59:12,671 ERROR [DefaultCreatorManager:75] Creator: 'NewCreator[Demo]' for Demo.js is returning null for type queries.
10:59:12,687 WARN [DefaultCreatorManager:59] Names of known classes are:
10:59:12,687 WARN [ExceptionHandler:67] Unhandled Exception
java.lang.SecurityException: No class by name: Demo
at org.directwebremoting.impl.DefaultCreatorManager.getCreator(DefaultCreatorManager.java:189)
at org.directwebremoting.impl.DefaultRemoter.generateInterfaceScript(DefaultRemoter.java:158)
at org.directwebremoting.servlet.InterfaceHandler.handle(InterfaceHandler.java:50)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at org.directwebremoting.servlet.DwrServlet.doGet(DwrServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:117)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.compression.CompressionFilter.processFilter(CompressionFilter.java:141)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.header.HeaderFilter.processFilter(HeaderFilter.java:108)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:132)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)

why the compiler not recognizes the class?? I must change the path? Help me please....

Ps:thanks for all



You must to change the servlet deffinition of dwr.xml file with your path:


<!--?xml version="1.0" encoding="UTF-8"?-->


<dwr>
    <allow>
        <create creator="new" javascript="Demo">
            <param name="class" value="com.reports.dwr.Demo">
        </create>
    </allow>
</dwr>

Alessio Baisi, modifié il y a 15 années.

RE: DWR problem... Help me!

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
my dwr.xml is the same as you have posted. i don't know where is the problem.

Demo.java is in C:\projects\liferay\ext\ext-web\docroot\html\portlet\ext\reports\dwr.
Demo.class is in C:\projects\liferay\ext\ext-web\docroot\html\portlet\ext\reports\dwr and I create it by console (javac Demo.java).

Where is the problem? com.reports.dwr is correct?
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
I think you must have your Demo.java class on ext-impl/src/com/reports/dwr.
Alessio Baisi, modifié il y a 15 années.

RE: DWR problem... Help me!.

New Member Publications: 16 Date d'inscription: 31/03/08 Publications récentes
IT WORKS!!!

TONY NUMBER ONE!!!!

THANKS....
thumbnail
Tony Fernández García, modifié il y a 15 années.

RE: DWR problem... Help me!

Junior Member Publications: 76 Date d'inscription: 06/10/08 Publications récentes
You are welcome, congratulations!!!

Tony