- Comment puis-je accéder à un bean géré par jsf (par exemple, des icefaces) à partir d'un client blazeds?
- Sera-t-il possible de partager également les mêmes informations de session? (Par exemple, si j'ai une page avec un jsf/ICEfaces composant et un client swf - peuvent-ils utiliser la même session?)
Répondre
d'abord vous devez mettre en œuvre le FlexFactory dans votre usine:
http://livedocs.adobe.com/blazeds/1/blazeds_devguide/factory_2.html
-je changer le SpringFactory un peu afin que vous puissiez accéder à l'instance actuelle de la fève donnée:
public class BeanFactory implements FlexFactory {
private static final String SOURCE = "source";
public void initialize(String id, ConfigMap configMap) {}
public FactoryInstance createFactoryInstance(String id, ConfigMap properties) {
BeanFactoryInstance instance = new BeanFactoryInstance(this, id, properties);
instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
return instance;
}
public Object lookup(FactoryInstance inst) {
BeanFactoryInstance factoryInstance = (BeanFactoryInstance) inst;
return factoryInstance.lookup();
}
static class BeanFactoryInstance extends FactoryInstance {
BeanFactoryInstance(BeanFactory factory, String id, ConfigMap properties) {
super(factory, id, properties);
}
public String toString() {
return "BeanFactory instance for id=" + getId() + " source=" + getSource() + " scope=" + getScope();
}
public Object lookup() {
HttpServletRequest hsr = FlexContext.getHttpRequest();
String beanName = getSource();
try
{
Object o = hsr.getSession().getAttribute(beanName);
return o;
}
catch (Exception e)
{
ServiceException se = new ServiceException();
String msg = "Java Bean '" + beanName + "' does not exist.";
se.setMessage(msg);
se.setRootCause(e);
se.setDetails(msg);
se.setCode("Server.Processing");
throw se;
}
}
}}
au service-config.xml (WEB-INF/dossier flex) vous devez vous inscrire cette usine:
<factories>
<factory id="beanFactory" class="packageName.BeanFactory"/>
</factories>
alors vous devez vous enregistrer l'usine à votre destination dans le Remoting-config.xml comme ceci:
<destination id="remoteService">
<properties>
<factory>beanFactory</factory>
<source>beanName</source>
<scope>session</scope>
</properties>
</destination>
Quel est donc ce BeanFactory faire:
lorsque vous souhaitez accéder à distance par de flex à java ou à l'application jee, vous déclarez un objet remote en flex avec la destination "remoteService" qui est configurée dans le fichier remoting-config.xml. Au moment où vous accédez de flex à Java en appelant une méthode côté serveur, le beanfactory prend en charge l'instance actuelle du bean que vous déclarez dans le fichier remoting-config.xml en transmettant la requête au FlexContext:
HttpServletRequest hsr = FlexContext .getHttpRequest();
maintenant vous avez la session et avec le beanName l'instance en appelant
hsr.getSession(). GetAttribute (beanName)
cela ne fonctionne pas avec des haricots d'application et de session et seulement si jsf instancié la fève avant la BeanFactory veulent accéder à la fève ...
lorsque vous souhaitez intégrer un swf fichier avec ICEfaces vous devez prendre la glace: outputMedia-Tag un ensemble lecteur-attribut « flash »
si vous travaillez avec éclipse pour développer votre application jee et vous intégrer le tomca t en éclipse, vous pouvez définir le dossier racine du serveur dans les propriétés de votre flex-projet dans le dossier tomcat (constructeur flex):
(Désolé pas de temps pour faire cela semble bon;))
maintenant vous pouvez démarrer le serveur tomcat directement dans eclipse et vous pouvez déboguer sur flex et java aussi :)
espérons que cela aide!
- 1. JSF 2 localisation (managed bean)
- 2. Bean messagedriven d'ActiveMQ vers JSF
- 3. Comment accéder au bean session dans EJB
- 4. Propriété JSF Spring Bean
- 5. Le bean backing JSF doit être sérialisable?
- 6. convertir du scriptlet au problème de bean géré par JSF
- 7. SSL Problème de connexion au service Web depuis le bean Java
- 8. Connexion d'un client non flexible au serveur exécutant blazeDS
- 9. JSF - Récupère l'instance Bean SessionScoped
- 10. JSF - Accès à un bean géré SessionScoped
- 11. Comment accéder au tabBarController depuis FirstViewController?
- 12. Appel @EJB de JSF Managed Bean
- 13. Accéder au thème du parent depuis iframe
- 14. Accéder au fichier msi depuis le fichier msi
- 15. Comment renvoyer le code HTML d'un bean géré dans JSF?
- 16. Validation du bean VS validation JSF
- 17. Création de contrôles dynamiques dans le bean géré jsf?
- 18. Comment puis-je accéder au bean EJB à l'intérieur d'un convertisseur personnalisé
- 19. Silverlight: Accéder au bureau client- Propriétés d'affichage
- 20. Comment accéder au serveur C# sockets depuis telnet ou SSH?
- 21. JSF - Premiers pas - Le bean ne fonctionne pas
- 22. Comment accéder aux dynamicbeans depuis un client jmx
- 23. Définir les propriétés à jsf bean géré
- 24. Manipulation d'un Bean arbre complexe JSF
- 25. JSF: Accès au bean à partir du validateur via le champ
- 26. quand utiliser le bean backing Serializable dans JSF?
- 27. JSF 2 cc: attribut pass dans le bean backing
- 28. JSF question sur la communication entre le bean géré
- 29. JSF backing bean ne peut pas accéder à la méthode de remplacement de la classe imbriquée
- 30. JSF: Comment capturer réponse qui est envoyée au client