Zurück   Flashforum > Flash und Server > Flash Remoting

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-07-2006, 16:20   #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!
jjds 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:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele