| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2005
Beiträge: 6
| openamf
Hallo, ich arbeite zur Zeit für ein Uni-Projekt mit openamf, Struts, Tomcat und habe ein Problem, aus Flash heraus eine Java-Methode aufzurufen. ------------------------------------------- Der Tomcat meldet folgenden Fehler: [INFO] AMFDeserializer - Deserializing Message, for more info turn on debug level [INFO] REQUEST - REQUEST: [AMFBody: {serviceName=service.CreateProtocol, serviceMethodName=createPuzzleProtocol, response=/1, type=ARRAY, value=[]}] [ERROR] DefaultGateway - Error in service, detail=[AMFBody: {serviceName=service.CreateProtocol, serviceMethodName=createPuzzleProtocol, response=/1, type=ARRAY, value=[]}], ServiceRequest=[AMFBody: {serviceName=service.CreateProtocol, serviceMethodName=createPuzzleProtocol, response=/1, type=ARRAY, value=[]}] <org.openamf.invoker.ServiceInvocationException: Class org.openamf.invoker.JavaServiceInvoker can not access a member of class service.CreateProtocol with modifiers "protected">java.lang.IllegalAccessException: Class org.openamf.invoker.JavaServiceInvoker can not access a member of class service.CreateProtocol with modifiers "protected" at sun.reflect.Reflection.ensureMemberAccess(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.openamf.invoker.JavaServiceInvoker.invokeServi ce(JavaServiceInvoker.java:50) at org.openamf.DefaultGateway.invokeBody(DefaultGatew ay.java:218) at org.openamf.DefaultGateway.processMessage(DefaultG ateway.java:198) at org.openamf.DefaultGateway.service(DefaultGateway. java:96) at javax.servlet.http.HttpServlet.service(HttpServlet .java:802) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) rethrown as org.openamf.invoker.ServiceInvocationException: Class org.openamf.invoker.JavaServiceInvoker can not access a member of class service.CreateProtocol with modifiers "protected" at org.openamf.invoker.JavaServiceInvoker.invokeServi ce(JavaServiceInvoker.java:63) at org.openamf.DefaultGateway.invokeBody(DefaultGatew ay.java:218) at org.openamf.DefaultGateway.processMessage(DefaultG ateway.java:198) at org.openamf.DefaultGateway.service(DefaultGateway. java:96) at javax.servlet.http.HttpServlet.service(HttpServlet .java:802) at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalAccessException: Class org.openamf.invoker.JavaServiceInvoker can not access a member of class service.CreateProtocol with modifiers "protected" at sun.reflect.Reflection.ensureMemberAccess(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.openamf.invoker.JavaServiceInvoker.invokeServi ce(JavaServiceInvoker.java:50) ... 18 more [INFO] RESPONSE - RESPONSE: [AMFBody: {serviceName=null, serviceMethodName=null, response=null, type=UNKNOWN, value=[AMFError: {ASObject[type=null]}]}] [INFO] AMFSerializer - Serializing Message, for more info turn on debug level ------------------------------------- Mein Actionscript: #include "NetServices.as" var gatewayPath = "http://localhost:8080/elearning/gateway"; var servicePath = "service.CreateProtocol"; NetServices.setDefaultGatewayURL(gatewayPath); var serviceConnection = NetServices.createGatewayConnection(); var serviceObject = serviceConnection.getService(servicePath, this); createProtocol = function(){ trace("in createProtocol"); serviceObject.createPuzzleProtocol(); } -------------------- Meine Java-Klasse: package service; public class CreateProtocol { public void createPuzzleProtocol(){ System.out.println("---- in CreateProtocol createPuzzleProtocol ----"); } } --------------------------------- Die web.xml habe ich um folgende Einträge ergänzt: <servlet> <servlet-name>DefaultGateway</servlet-name> <display-name>DefaultGateway</display-name> <description>DefaultGateway</description> <servlet-class>org.openamf.DefaultGateway</servlet-class> <init-param> <param-name>OPENAMF_CONFIG</param-name> <param-value>/WEB-INF/openamf-config.xml</param-value> <description>Location of the OpenAMF config file.</description> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DefaultGateway</servlet-name> <url-pattern>/gateway</url-pattern> </servlet-mapping> ---------------------------------- Ich habe die openamf-config.xml in meinen WEB-INF kopiert. Versuchsweise habe ich folgendes eingetragen: <service> <name>CreateProtocol</name> <service-location>service.CreateProtocol</service-location> <invoker-ref>Java</invoker-ref> <method> <!-- Operation's are matched by the name and parameters --> <name>createPuzzleProtocol</name> </method> </service> Ist das richtig und notwendig? ------------------------------------ Ich habe auch alle .jar-Dateien in den Tomcat>common>lib kopiert. ------------------------------------ Kann es sein, dass es Probleme macht, dass der WEB-INF-Ordner nicht direkt unter "elearning" liegt, sondern ein web-ordner dazwischen liegt? Der Pfad zur CreateProtocol.class ist wie folgt: http://localhost:8080/elearning/web/...CreateProtocol Noch eine Frage: Wozu braucht man die build-webservice.xml? Vielen Dank für Tipps! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |