Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2011, 15h23   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Par défaut dpHibernate + Hibernate + SprinfBlazdsIntegration + flex4.5+AS3

Bonjour tout le monde

je developpe une application web avec flex4+hibernate+spring blazeds integration+mysql

j'ai réussi à intégrer dpHibernate pour regler le probleme du lazyloading

Mon probleme c'est que coté as3 j'arrive pas à recuperer mes objets "lazy loaded"

exp:
un enfant a un pere

Code :
1
2
3
4
5
6
7
[RemoteClass(alias="model.enfant")]
	[Managed]
	public class Enfant extends HibernateBean {
		public var id:int;
		public var name:String;
		public var pere : Pere;
    }
je peux recuperer l'enfant avec ces attribut simple "id" et "name" mais pas le pere

Merci de m'aider
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 12h04   #2
Membre actif
 
Avatar de clubist
 
Étudiant
Inscription : février 2008
Messages : 201
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2008
Messages : 201
Points : 153
Points : 153
Envoyer un message via MSN à clubist
bon je pense que le type de chargement LASY pose un problème avec Flex
Eager résout ça mais j’espère que les expérimentés peuvent plus clarifier ce problématique !!
clubist est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 22h23   #3
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Citation:
Envoyé par clubist Voir le message
bon je pense que le type de chargement LASY pose un problème avec Flex
Eager résout ça mais j’espère que les expérimentés peuvent plus clarifier ce problématique !!
Merci pour ton retour

Avec Eager mon application devient lourde avec un nombre important d’enregistrements dans la base de données

j'ai trouvé une solution ;dpHibernate mais j'ai pas encore arrivé à comprendre le principe exactement

SVP j'ai besoin de votre aide

Merci
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 14h30   #4
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Bonjour,

J'ai arrivé à configurer mon projet avec dpHibernate.

mais en essayant d’accéder à un objet " lazy loaded " une exception se déclenche
Citation:
flex.messaging.MessageException: Cannot invoke method 'loadProxyBatch'. Method 'loadProxyBatch' not found.
je ne sais pas ou se trouve cette méthode

Merci
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 14h48   #5
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Hello,

en effet il semblerait que blazeDS ne gère pas ou mal le lazy loading. A ce que je comprends, tu essaies de changer de framework de persistence afin de résoudre ce problème. Je pense plutôt qu'il faudrait ne pas utiliser blazeDS plutôt...

Des solutions concurrentes et open sources existent comme GraniteDS (historiquement le premier à avoir proposé une implémentation open source du protocole AMF). Je te conseille vivement de l'utiliser.

Si tu l'utilises, j'avoue que le support (tutos, aide) est loin d'être terrible mais c'est un outil plus puissant que blazeDS. Petit lien vers ce que tu veux faire avec GrantiDS.

PS: désolé, j'aurais du mal à t'aider beaucoup plus que çà
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 15h29   #6
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Merci pour ton retour,

j'ai déjà développé un gros module dans mon application, est ce que la migration vers graniteDS aura un grand effet sur la continuation du projet?

est ce que je peux trouver chez toi un projet(exemple) avec graniteDS gérant le lazyloading.

Merci
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 15h54   #7
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Hello,

dans quel contexte utilises tu blazeDS actuellement ? Webapp blazeDS + EJBs + entities ? Si c'est le cas, je pense pas que la différence de config soit importante, GraniteDS se configure grosso modo comme blazeDS. Tu as toujours une config à faire sur le web.xml. Basiquement la même que blazeDS en ajoutant un tag <ejb-local-ref></ejb-local-ref> si tu comptes attaquer des EJBs directement (voir site de graniteDS pour ca). Tu as le fameux WEB-INF/flex/services-config.xml également. Pas de modifs à faire vis à vis de blazeDS si ce n'est d'ajouter une fabrique d'EJB au besoin (voir site aussi). Enfin un fichier de conf WEB-INF/granite/granite-config.xml qui chez moi est vide ^^

Code :
1
2
3
4
5
6
7
 
<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE granite-config PUBLIC "-//Granite Data Services//DTD granite-config internal//EN"
    "http://www.graniteds.org/public/dtd/2.0.0/granite-config.dtd">
<granite-config>
</granite-config>
(je crois même que tu peux t'en passer)

Le mieux à faire pour toi je pense c'est de créer une webapp graniteDS (en gardant celle de blazeDS bien sur) configurer cette webapp puis mettre à jour ton context sous Flex et tester
Au pire si ca marche pas ou te conviens pas en 2 secondes tu switches de context et reviens sous blazeDS


Concernant les sources pour le lazy loading, désolé j'en ai pas vraiment, j'utilise GraniteDS à titre "d'expérimentation" pour le moment c'est pour cela que je te disais que j'allais du mal à pouvoir t'aider plus sur le sujet...

Bonne chance
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h12   #8
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
je développe une application avec flex4.5+hibernate+spring 3+springBlazeds Intergation sans oublier PureMVC. et maintenant j'ai intégré dpHibernate pour gérer le lazyLoading .
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 16h38   #9
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
après une recherche je pense que la bonne solution pour le lazyloading est graniteDS,

ma question est la suivante:

Comment intégrer graniteDS avec flashbuilder 4 ou il faut forcement travailler sous éclipse en installant flex4 sdk.

Merci
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 17h04   #10
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Salut,

Citation:
Envoyé par edhecasa Voir le message
Comment intégrer graniteDS avec flashbuilder 4 ?
qu'entends tu par intégrer ? Flashbuilder s'occupe de la partie cliente (Flash), il n'est pas prédisposé à coder la partie serveur. Perso, j'utilise Flash builder couplé avec Indigo (Eclipse) de mon côté
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 17h55   #11
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
sous flashBuilder
clique droit sur le projetflex->propriétes ->serveur flex et là que dois choisir? ou bien je modifier dans les fichiers de configuration ..flexProperties et .actionScriptProperties

pour faire la liaison entre la partie flex et la partie java

Merci beaucoup
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 18h38   #12
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
tu as juste à changer le context vers ta webapp graniteDS

voici ma config :

Citation:
type de serveurs d'applications : JEE
Utiliser le service d'accès aux objets distants [coché]
blazedDS [radio button coché]

Dossier racine : E:\indigoWorkspace\graniteds\WebContent
URL racine : http://localhost:8080/graniteds/
Racine du contexte : /graniteds
en gros j'ai une webapp graniteds déployée sur un serveur local GlassFish v3 qui me sert de pont (endpoint) pour attaquer mes EJB
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 12h11   #13
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Bonjour,

j'ai essayé de faire communiquer flex avec java mais une exception se génère
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
10:07:19,343 ERROR [org.granite.messaging.webapp.AMFMessageFilter] - AMF message error
javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:117)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoSuchMethodError: flex.messaging.messages.CommandMessage.isSecurityOperation()Z
	at org.granite.messaging.amf.process.AMF3MessageProcessor.processCommandMessage(AMF3MessageProcessor.java:84)
	at org.granite.messaging.amf.process.AMF3MessageProcessor.process(AMF3MessageProcessor.java:61)
	at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:78)
	at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:59)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	... 14 more
15 sept. 2011 10:07:19 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet AMFMessageServlet a généré une exception
java.lang.NoSuchMethodError: flex.messaging.messages.CommandMessage.isSecurityOperation()Z
	at org.granite.messaging.amf.process.AMF3MessageProcessor.processCommandMessage(AMF3MessageProcessor.java:84)
	at org.granite.messaging.amf.process.AMF3MessageProcessor.process(AMF3MessageProcessor.java:61)
	at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:78)
	at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:59)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:117)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
mes fichiers de configuration:
web.xml
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?xml version="1.0" encoding="UTF-8"?>
 
<!--
    GRANITE DATA SERVICES
    Copyright (C) 2007-2008 ADEQUATE SYSTEMS SARL
 
    This file is part of Granite Data Services.
 
    Granite Data Services is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 3 of the License, or (at your
    option) any later version.
 
    Granite Data Services is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
    for more details.
 
    You should have received a copy of the GNU Lesser General Public License
    along with this library; if not, see <http://www.gnu.org/licenses/>.
-->
 
<web-app version="2.4" 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">
 
    <display-name>GraniteDS Spring Hibernate</display-name>
    <description>Spring Hibernate test using graniteDS</description>
 
    <!-- Granite config context listener -->
    <listener>
        <listener-class>org.granite.config.GraniteConfigListener</listener-class>
    </listener>
 
    <!-- Path to Spring config -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/conf/applicationContext.xml            
        </param-value>
    </context-param>
 
    <!-- Spring listener -->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
 
    <!-- Spring listener for web-scopes (request, session) -->
    <listener>
        <listener-class>
            org.springframework.web.context.request.RequestContextListener
        </listener-class>
    </listener>
 
    <filter>
        <filter-name>AMFMessageFilter</filter-name>
        <filter-class>
            org.granite.messaging.webapp.AMFMessageFilter
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>AMFMessageFilter</filter-name>
        <url-pattern>/graniteamf/*</url-pattern>
    </filter-mapping>
 
    <servlet>
        <servlet-name>AMFMessageServlet</servlet-name>
        <servlet-class>
            org.granite.messaging.webapp.AMFMessageServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>AMFMessageServlet</servlet-name>
        <url-pattern>/graniteamf/*</url-pattern>
    </servlet-mapping>
 
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
 
</web-app>
service-config.xml
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="UTF-8"?>
 
<services-config>
 
    <services>
        <service
            id="granite-service"
            class="flex.messaging.services.RemotingService"
            messageTypes="flex.messaging.messages.RemotingMessage">
            <destination id="helloWorldService">
                <channels>
                    <channel ref="my-graniteamf"/>
                </channels>
                <properties>
                    <scope>application</scope>
                    <source>org.test.HelloWorldService</source>
                </properties>
            </destination>
        </service>
    </services>
 
    <channels>
        <channel-definition id="my-graniteamf" class="mx.messaging.channels.AMFChannel">
            <endpoint
                uri="http://{server.name}:{server.port}/{context.root}/graniteamf/amf"
                class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>
    </channels>
 
</services-config>
et ma classe java:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
package org.test;
 
 
 
public class HelloWorldService {
 
	 public String sayHello(String name) {
		    return "Hello, " + name;
		  }
 
 
}
coté flex :
j'utilise RemoteObjet :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="utf-8"?>
<s:Application
	xmlns:fx="http://ns.adobe.com/mxml/2009"
	xmlns:s="library://ns.adobe.com/flex/spark"
	xmlns:mx="library://ns.adobe.com/flex/mx"
	xmlns:comps="components.*"
 
	creationComplete="init()"
	width="540" height="400">
 
	<fx:Declarations>
		<mx:RemoteObject id="srv" destination="helloWorldService" result="srv_resultHandler(event)" fault="srv_faultHandler(event)" />
	</fx:Declarations>
 
	<fx:Script>
		<![CDATA[		
			import mx.controls.Alert;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
 
			import org.granite.tide.Tide;
			import org.granite.tide.service.DefaultServiceInitializer;
 
			private function init():void {
 
 
				Tide.getInstance().initApplication();
 
 
				Tide.getInstance().addComponent("serviceInitializer", DefaultServiceInitializer,
					{ contextRoot: "/blog" });
			}
			protected function srv_resultHandler(event:ResultEvent):void
			{
				Alert.show(event.toString());
 
			}
 
			protected function srv_faultHandler(event:FaultEvent):void
			{
				Alert.show(event.fault.toString());
 
			}
 
			protected function button1_clickHandler(event:MouseEvent):void
			{
				srv.sayHello(nameInput.text);
 
			}
 
		]]>
	</fx:Script>
 
 
 
	<mx:Panel styleName="Panel" title="Hello World Sample">
		<mx:Label text="Enter your name:"/>
		<mx:TextInput id="nameInput" />
		<mx:Button label="Say Hello" click="button1_clickHandler(event)"/>
	</mx:Panel>
 
	<mx:Label styleName="Result" text="{srv.sayHello.lastResult}"/>
 
</s:Application>
Merci beaucoup
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 12h33   #14
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Salut,

j'ai déjà eu cette "java.lang.NoSuchMethodError" à l'époque car j'essayais d'accéder sans réussite à un EJB (sans passer par spring). En fait, il fallait que je crée dans mon services-config.xml une factory d'EJBs.

Dans ton cas de figure, il semblerait que tu doives aussi créer une factory et une servlet DispatcherServlet.

Tout semble correctement expliqué sur le site officiel ici
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 13h48   #15
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
J'ai modifié les fichiers web.xml et service-config.xml

dans web.xml j'ai ajouté servler dispatcher
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?xml version="1.0" encoding="UTF-8"?>
 
<web-app version="2.4" 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">
 
    <!-- general information about this web application -->
    <display-name>blog</display-name>
    <description>Hello World Sample </description>
 
    <!-- read services-config.xml file at web application startup -->
    <listener>
        <listener-class>org.granite.config.GraniteConfigListener</listener-class>
    </listener>
 
    <!-- handle AMF requests ([de]serialization) -->
    <filter>
        <filter-name>AMFMessageFilter</filter-name>
        <filter-class>org.granite.messaging.webapp.AMFMessageFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>AMFMessageFilter</filter-name>
        <url-pattern>/graniteamf/*</url-pattern>
    </filter-mapping>
 
    <!-- handle AMF requests (execution) -->
 
    	<servlet>
	    <servlet-name>dispatcher</servlet-name>
	    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	    <load-on-startup>1</load-on-startup>
	</servlet>	
	<servlet-mapping>
	    <servlet-name>dispatcher</servlet-name>
	    <url-pattern>/graniteamf/*</url-pattern>
	</servlet-mapping>	
    <servlet>
        <servlet-name>AMFMessageServlet</servlet-name>
        <servlet-class>org.granite.messaging.webapp.AMFMessageServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>AMFMessageServlet</servlet-name>
        <url-pattern>/graniteamf/*</url-pattern>
    </servlet-mapping>
 
 
 
</web-app>
dans j'ai ajouté "le factory" services-config.xml
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0" encoding="UTF-8"?>
 
<services-config>
 
    <services>
        <service
            id="granite-service"
            class="flex.messaging.services.RemotingService"
            messageTypes="flex.messaging.messages.RemotingMessage">
            <destination id="helloWorldService">
                <channels>
                    <channel ref="graniteamf"/>
                </channels>
                <properties>
                    <factory>springFactory</factory>
                    <source>springBean</source>
                </properties>
                <properties>
                    <scope>application</scope>
                    <source>org.test.HelloWorldService</source>
                </properties>
            </destination>
        </service>
    </services>
 <factories>
        <factory id="springFactory"
            class="org.granite.spring.SpringServiceFactory" />
    </factories>
 
    <channels>
        <channel-definition id="graniteamf" class="mx.messaging.channels.AMFChannel">
            <endpoint
                uri="http://localhost:8080/blog/graniteamf/amf"
                class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>
    </channels>
 
</services-config>
et mon fichier dispatcher-servlet.xml est vide
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
 
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:aop="http://www.springframework.org/schema/aop"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:graniteds="http://www.graniteds.org/config"
  xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
       http://www.graniteds.org/config http://www.graniteds.org/config/granite-config-2.1.xsd">
 
</beans>
à l' exécution j'ai toujours la même erreur
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
11:44:21,515 ERROR [org.granite.messaging.webapp.AMFMessageFilter] - AMF message error
javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:117)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoSuchMethodError: flex.messaging.messages.CommandMessage.isSecurityOperation()Z
	at org.granite.messaging.amf.process.AMF3MessageProcessor.processCommandMessage(AMF3MessageProcessor.java:84)
	at org.granite.messaging.amf.process.AMF3MessageProcessor.process(AMF3MessageProcessor.java:61)
	at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:78)
	at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:59)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	... 14 more
15 sept. 2011 11:44:21 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet AMFMessageServlet a généré une exception
java.lang.NoSuchMethodError: flex.messaging.messages.CommandMessage.isSecurityOperation()Z
	at org.granite.messaging.amf.process.AMF3MessageProcessor.processCommandMessage(AMF3MessageProcessor.java:84)
	at org.granite.messaging.amf.process.AMF3MessageProcessor.process(AMF3MessageProcessor.java:61)
	at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:78)
	at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:59)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:117)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
11:46:02,421 ERROR [org.granite.messaging.webapp.AMFMessageFilter] - AMF message error
javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:117)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoSuchMethodError: flex.messaging.messages.CommandMessage.isSecurityOperation()Z
	at org.granite.messaging.amf.process.AMF3MessageProcessor.processCommandMessage(AMF3MessageProcessor.java:84)
	at org.granite.messaging.amf.process.AMF3MessageProcessor.process(AMF3MessageProcessor.java:61)
	at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:78)
	at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:59)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	... 14 more
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 14h28   #16
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Salut,

ca va pas venir de là je pense pas mais déjà tu peux virer

Code :
1
2
3
4
5
 
<properties>
       <scope>application</scope>
       <source>org.test.HelloWorldService</source>
</properties>
de ton services-config.xml. En effet ton bean sera accédé par la factory spring.

Sinon, as tu créé ton fichier dispatcher-servlet.xml et modifié ton applicationContext.xml de spring comme indiqué ?

Tu peux aussi download les projets d'exemples voir comment cela est configuré dans ton cas de figure avec spring
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 15h39   #17
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Merci beaucoup Madfrix pour votre

en suivant la configuration de la doc officielle encore une exception se genere

mais cette fois ,elle est differente
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
java.lang.NullPointerException
	at org.granite.messaging.amf.io.AMF0Serializer.serializeMessage(AMF0Serializer.java:98)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:134)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
15 sept. 2011 13:36:16 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet default a généré une exception
java.lang.NullPointerException
	at org.granite.messaging.amf.io.AMF0Serializer.serializeMessage(AMF0Serializer.java:98)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:134)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 19h05   #18
Invité de passage
 
Inscription : novembre 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 46
Points : 4
Points : 4
Enfin j'ai arrivé à executer mon application avec GRaniteDS,c'est un probleme de jar.

Merci beaucoup pour votre aide

mais j'ai encore un autre problème c'est l’accès à la base de données

il me genere cet exception
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
org.granite.messaging.amf.process.AMF3MessageProcessor.process(AMF3MessageProcessor.java:59)
	at org.granite.messaging.amf.process.AMF0MessageProcessor.process(AMF0MessageProcessor.java:78)
	at org.granite.messaging.webapp.AMFMessageServlet.doPost(AMFMessageServlet.java:59)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:117)
	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:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	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:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:58
si vous savez une idée de quoi t-il s'agit

Merci les amis
edhecasa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 23h32   #19
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Salut,

difficile de dire sans plus d'infos. Si tu veux, tu peux poster ici les sources de ton projet ou me les envoyer en mp afin qu'on regarde plus en détails.

PS: un problème de JAR...?
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 23h31   #20
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 279
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 279
Points : 2 327
Points : 2 327
Salut,

si tu as pas résolu ton problème, cette commande maven :

Code :
1
2
 
mvn archetype:generate -DarchetypeGroupId=org.graniteds.archetypes -DarchetypeArtifactId=graniteds-tide-spring-jpa-hibernate -DgroupId=org.example -DartifactId=gdsspringflex -Dversion=1.0-SNAPSHOT
te créera un template de projet répondant à ton besoin.

Voilà un article complémentaire.
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h23.


 
 
 
 
Partenaires

Hébergement Web