Zurück   Flashforum > Flash und Server > Flash Remoting

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-01-2004, 21:45   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Ruhrgebiet
Beiträge: 6
EJB Problem: [type Function]

Aloha!

Ich hätte da gerne mal ein Problem...
Ich habe mir eine hübsche EJB gebastelt, die auf'm JBoss Problemlos läuft (Servlet-Tests).
Jetzt hab ich einen Client mit Flash 2004 gebastelt. Die WeatherBeispiele laufen und ich kann mir mittlerweile auch nach einigen Krämpfen durchgerungen, dass ich immerhin schon ein EJB Objekt erzeugen kann. 'Trace' meldet das meine Variable mit [object Object] gefüllt ist, wenn ich allerdings eine Methode aufrufe, dann scheint es (laut NetConnection Debugger), das die Methoden von [type Function] aufgerufen werden.

Fehlermeldung:
flashgateway.adapter.NoSuchServiceException: Flash Remoting MX kennt keinen Dienst mit dem Namen [type Function].

Ich wäre für jeden Hinweis mehr als Dankbar, ich kämpfe seit einer Woche damit die Verbindung aufzubauen.

Karsten
KarstenTS ist offline   Mit Zitat antworten
Alt 12-01-2004, 01:05   #2 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Oh Du Armer, seit einer Woche - da wär ich schon längst Kinder töten gegangen (ok der war jetzt nicht politisch korrekt, war auch eher ein Zitat, wer weiß von wem kriegt n Frühstück auf der Dachterasse).

Die Exception kenn ich eigentlich nur daher, daß eine Methode aufgerufen wird, die es tatsächlich nicht gibt.
"mit dem Namen [type function]" hört sich so an, als ob da irgendwas extrem verspult ist - wie rufst Du denn die Remote-Methode auf?


Poste doch mal den ganzen Fehlercode (Netconnection Debugger) hier...
__________________
jeden Tag frisch

Geändert von beachmeat (12-01-2004 um 01:06 Uhr)
beachmeat ist offline   Mit Zitat antworten
Alt 12-01-2004, 08:56   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Ruhrgebiet
Beiträge: 6
Hmmm... Kinder... []

Im ernst, ich dreh echt langsam schon durch.
Hier das ActionScript:

ActionScript:
  1. #include "NetServices.as"
  2. #include "NetDebug.as"
  3.  
  4. InventoryBean = null;
  5. InventoryEJB = null;
  6. BeanClass = null;
  7. BeanMethods = null;
  8. EJBtext.text = "soon...";
  9.  
  10. // connection stuff
  11. function init() {
  12.     // Gateway
  13.     NetServices.setDefaultGatewayUrl("http://localhost:8080/flashservices/gateway");
  14.     gatewayConnnection = NetServices.createGatewayConnection();
  15.     // BeanInstance
  16.     InventoryBean = gatewayConnnection.getService("musicstore/Inventory",this);
  17.     if (InventoryBean != null){
  18.         textCon = "Connection Established\n"
  19.                         + "InventoryBean:" + InventoryBean;
  20.         InventoryBean.create();
  21.     } else  {
  22.         EJBtext.text = "cannot connect to server";
  23.     }
  24. }
  25.  
  26. function anrufen() {
  27.     trace("EJB Instanz:");
  28.     InventoryEJB.newCDInstance("74646732120");
  29. }
  30.  
  31. function create_Result(result) {
  32.     InventoryEJB = result;
  33.     EJBtext.text = textCon + "\n\nGot Bean Instance."
  34.                            + "\nInventoryEJB: " + InventoryEJB;
  35.     anrufen();
  36. }
  37.  
  38. function create_Status(result){
  39.     EJBtext.text = textCon + "\ncreate() - STATUS: \n" + result.details;
  40. }
  41.  
  42. function newCDInstance_Result(result) {
  43.     neueCDInstanz = result;
  44.     trace("newCD() klappt!\nneueCD:" + neueCDInstanz.artist);
  45. }
  46.  
  47. function newCDInstance_Status(result){
  48.     trace("newCD() will nich'!");
  49. }
  50.  
  51. init();
  52.  
  53. stop();

Soweit so gut. Und die Methodenaufrufe mit den selben Parametern laufen wie bereits beschrieben in dem Servlet ohne Probleme. Die Fehlermeldung lautet allerdings wie folgt (Ihr bekommt den kompletten stack)...

Code:
flashgateway.adapter.NoSuchServiceException: Flash Remoting MX kennt keinen Dienst mit dem Namen [type Function].
	at flashgateway.filter.AdapterFilter.invoke(AdapterFilter.java:251)
	at flashgateway.filter.SecurityFilter.invoke(SecurityFilter.java:84)
	at flashgateway.filter.LicenseFilter.invoke(LicenseFilter.java:58)
	at flashgateway.filter.ErrorFilter.invoke(ErrorFilter.java:44)
	at flashgateway.filter.LogFilter.invoke(LogFilter.java:43)
	at flashgateway.filter.BatchProcessFilter.invoke(BatchProcessFilter.java:63)
	at flashgateway.filter.DebugFilter.invoke(DebugFilter.java:38)
	at flashgateway.filter.SerializationFilter.invoke(SerializationFilter.java:59)
	at flashgateway.Gateway.invoke(Gateway.java:194)
	at flashgateway.controller.GatewayServlet.service(GatewayServlet.java:56)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
	at java.lang.Thread.run(Thread.java:534)
Das da irgendwas extrem 'verspult' zu sein scheint, hab ich mir schon fast gedacht. Ich hoffe nur, ich komm dem ganzen möglichst bald auf die Schliche...

Danke für die schnelle Antwort übrigens!
Karsten
KarstenTS ist offline   Mit Zitat antworten
Alt 12-01-2004, 17:10   #4 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Hmm also vom AS her scheint das ok zu sein...also ist der Fehler eventuell auf Javaseiten...?
Hast Du denn mal deine Remotingcomponents geupdated? Gibts für umme bei MM...
Eventuell auch mal mit connection.call probieren, wird aber wohl den gleich Fehler geben...

_global.connection = new NetConnection();
connection.connect(gateway);
connection.call ("methode", "object mit onResult-methode", "parameter")

Viel Erfolg noch!
__________________
jeden Tag frisch

Geändert von beachmeat (12-01-2004 um 17:11 Uhr)
beachmeat ist offline   Mit Zitat antworten
Alt 14-01-2004, 17:35   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Ruhrgebiet
Beiträge: 6
Ich will nicht sagen, dass ich den Fehler gefunden habe, aber in FlashMX funktioniert's. Wieso aber mit MX2004 nicht? macht das Sinn?
KarstenTS ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele