Thanks for the feedback, I will just modify the interface then.

Thanks everyone!  I have a lot of my app working now.

Mike

Mondain wrote:
> I dont believe so. Java must know how to call your script, meaning it
> has to know which methods or functions are available. Currently the only
> way to do this through red5 is to use an interface. An interface can be
> as simple as this:
> 
> public interface MyInterface {
>     public boolean getSomething();
>     public int getNumber();
> }
> 
> Hope that helps..
> 
> On 1/28/07, *Michael Cassano * <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     Ahh, gotcha.  Can I change the config so only python file is being
>     used?
> 
>     Mike
> 
>     Mondain wrote:
>     > Your script is implementing an interface (as shown in the xml config)
>     > org.red5.server.webapp.oflaDemo.IDemoService which is the "hook" into
>     > the java environment.
>     > Therefore, you must add your method signature to that interface to
>     have
>     > it visible to "callers"
>     >
>     > Paul
>     >
>     > On 1/28/07, *Michael Cassano* < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>     > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>     >
>     >     I clearly don't understand how this entire system works, but
>     here is
>     >     where I am:
>     >
>     >     1) I switched DemoService to run the JS version (demoservice.js).
>     >     2) I can't add any functions to demoservice.js, it claims they
>     >     aren't found
>     >     3) *I can* run the getListOfAvailableFLVs function in
>     demoservice.js.
>     >     That works.
>     >
>     >     Why can't I add function to this file?  Why can't I change the
>     return
>     >     type of getListOfAvailableFLVs to, for example, a int?  There is
>     >     something restricting how I can use handler, but I don't
>     understand how.
>     >
>     >     Thanks so much, I feel like I am getting close.
>     >
>     >     Mike
>     >
>     >     Michael Cassano wrote:
>     >     > Joseph,
>     >     >
>     >     > As you can see from the output I posted, the python script is
>     >     running:
>     >     >
>     >     >> Python appConnect: RTMPMinaConnection from
>     75.72.166.XXX:4340 to
>     >     >> 216.70.XXX.XXX (in: 3394, out: 3073) array([],
>     java.lang.Object )
>     >     >> Python setting bandwidth limits
>     >     >
>     >     > That is output from main.py (if I change that file, the output
>     >     changes),
>     >     > which handles the Application when someone connects.  Yes, I can
>     >     stream
>     >     > and record with my Flash App.
>     >     >
>     >     > Attached is demoservice.py (which is stripped down from what
>     it is in
>     >     > the red5 package), and my red5-web.xml file.  When I start
>     red5, I get
>     >     > no errors.  demoservice.py is in WEB-INF/classes/applications.
>     >     >
>     >     > Thanks!
>     >     >
>     >     > Mike
>     >     >
>     >     > joseph wamicha wrote:
>     >     >> Hi Mike,
>     >     >>
>     >     >> Are the other methods eg getListOfAvailableFLVs, working
>     ok? Are you
>     >     >> able to connect and stream?
>     >     >> There's a chance your red5-web.xml is incorrectly
>     configured and
>     >     so you
>     >     >> call the ordinary java classes rather than the python
>     script and of
>     >     >> course the java class doesn't have your new method. Please
>     post your
>     >     >> red5-web.xml file, so we can see.
>     >     >>
>     >     >>> Hello,
>     >     >> I changed the red5-web.xml file for oflaDemo to use the Python
>     >     scripts.
>     >     >>  I added:
>     >     >>
>     >     >> def toAdd():
>     >     >>      return '1'
>     >     >>
>     >     >> to demoservice.py, and restarted my server.  In my Flash
>     app I added:
>     >     >>
>     >     >> client_nc.call("demoService.toAdd");
>     >     >>
>     >     >> and when that line runs I get:
>     >     >>
>     >     >> Python appConnect: RTMPMinaConnection from
>     75.72.166.XXX:4340 to
>     >     >> 216.70.XXX.XXX (in: 3394, out: 3073) array([],
>     java.lang.Object )
>     >     >> Python setting bandwidth limits
>     >     >> [ERROR] 13455 pool-1-thread-5:(
>     >     >> org.red5.server.service.ServiceInvoker.error ) Method toAdd not
>     >     found in
>     >     >> Error
>     >     >>
>     >     >> Any ideas?
>     >     >>
>     >     >> Thanks!
>     >     >>
>     >     >> Mike
>     >     >> ~
>     >     >>
>     >     >> --
>     >     >> C is forever.
>     >     >>
>     >     >>
>     >     >>
>     >    
>     ------------------------------------------------------------------------
> 
>     >     >>
>     >     >> _______________________________________________
>     >     >> Red5 mailing list
>     >     >> [email protected] <mailto:[email protected]> <mailto:
>     [email protected] <mailto:[email protected]>>
>     >     >> http://osflash.org/mailman/listinfo/red5_osflash.org
>     >     >
>     >     >
>     >     >
>     >    
>     ------------------------------------------------------------------------
> 
>     >
>     >     >
>     >     > <?xml version="1.0" encoding="UTF-8"?>
>     >     > <beans xmlns="http://www.springframework.org/schema/beans
>     <http://www.springframework.org/schema/beans>"
>     >     >        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     >     >        xmlns:lang=" http://www.springframework.org/schema/lang
>     >     <http://www.springframework.org/schema/lang>"
>     >     >        xsi:schemaLocation="
>     http://www.springframework.org/schema/beans
>     >    
>     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>     <http://www.springframework.org/schema/beans/spring-beans-2.0.xsd>
>     >    
>     >                            http://www.springframework.org/schema/lang
>     >     http://www.springframework.org/schema/lang/spring-lang-2.0.xsd";>
>     >     >
>     >     >       <bean id="placeholderConfig"
>     >    
>     
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
> 
>     >     ">
>     >     >           <property name="location"
>     >     value="/WEB-INF/red5-web.properties" />
>     >     >       </bean>
>     >     >
>     >     >       <bean id=" web.context" class="org.red5.server.Context "
>     >     >               autowire="byType" />
>     >     >
>     >     >       <bean id="web.scope" class="org.red5.server.WebScope "
>     >     >                init-method="register">
>     >     >               <property name="server" ref="red5.server" />
>     >     >               <property name="parent" ref=" global.scope" />
>     >     >               <property name="context" ref=" web.context" />
>     >     >               <property name="handler" ref="web.handler" />
>     >     >               <property name="contextPath"
>     >     value="${webapp.contextPath}" />
>     >     >               <property name="virtualHosts"
>     >     value="${ webapp.virtualHosts}" />
>     >     >       </bean>
>     >     >
>     >     >       <bean id="web.handler"
>     >     class="org.red5.server.script.jython.JythonScriptFactory ">
>     >     >               <constructor-arg index="0"
>     >     value="classpath:applications/main.py"/>
>     >     >               <constructor-arg index="1">
>     >     >                       <list>
>     >     >                      
>     <value>org.red5.server.api.IScopeHandler</value>
>     >     >
>     >     <value>org.red5.server.adapter.IApplication</value>
>     >     >                       </list>
>     >     >               </constructor-arg>
>     >     >         <constructor-arg index="2">
>     >     >             <list>
>     >     >                 <value>One</value>
>     >     >                 <value>2</value>
>     >     >                 <value>III</value>
>     >     >             </list>
>     >     >         </constructor-arg>
>     >     >       </bean>
>     >     >
>     >     >
>     >     >       <bean id="demoService.service "
>     >     class="org.red5.server.script.jython.JythonScriptFactory">
>     >     >               <constructor-arg index="0"
>     >     value="classpath:applications/demoservice.py"/>
>     >     >               <constructor-arg index="1">
>     >     >                       <list>
>     >     >
>     >     <value>org.red5.server.webapp.oflaDemo.IDemoService</value>
>     >     >                       </list>
>     >     >               </constructor-arg>
>     >     >               <constructor-arg index="2" ref=" web.handler"/>
>     >     >       </bean>
>     >     >
>     >     >       <bean
>     >    
>     class="org.springframework.scripting.support.ScriptFactoryPostProcessor
>     >     "/>
>     >     >
>     >     >
>     >     > </beans>
>     >     >
>     >     >
>     >     >
>     >    
>     ------------------------------------------------------------------------
>     >     >
>     >     > from org.red5.server.api import Red5
>     >     >
>     >     > class DemoService:
>     >     >
>     >     >     def toAdd():
>     >     >         return '1'
>     >     >
>     >     >
>     >     > def getInstance(*args):
>     >     >     print 'Arguments:', args
>     >     >     return DemoService()
>     >     >
>     >     >
>     >     >
>     >     >
>     >    
>     ------------------------------------------------------------------------
> 
>     >     >
>     >     > _______________________________________________
>     >     > Red5 mailing list
>     >     > [email protected] <mailto:[email protected]> <mailto:
>     [email protected] <mailto:[email protected]>>
>     >     > http://osflash.org/mailman/listinfo/red5_osflash.org
>     >
>     >
>     >     _______________________________________________
>     >     Red5 mailing list
>     >     [email protected] <mailto:[email protected]>
>     <mailto:[email protected] <mailto:[email protected]>>
>     >     http://osflash.org/mailman/listinfo/red5_osflash.org
>     >
>     >
>     >
>     >
>     > --
>     > The early bird may get the worm, but the second mouse gets the cheese.
>     >
>     >
>     >
>     ------------------------------------------------------------------------
> 
>     >
>     > _______________________________________________
>     > Red5 mailing list
>     > [email protected] <mailto:[email protected]>
>     > http://osflash.org/mailman/listinfo/red5_osflash.org
> 
> 
>     _______________________________________________
>     Red5 mailing list
>     [email protected] <mailto:[email protected]>
>     http://osflash.org/mailman/listinfo/red5_osflash.org
> 
> 
> 
> 
> -- 
> The early bird may get the worm, but the second mouse gets the cheese.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Red5 mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/red5_osflash.org


_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

Reply via email to