Help with Remoting

View: New views
1 Messages — Rating Filter:   Alert me  

Help with Remoting

by terbooter :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have my remoting_test red5 application
RTMP part works fine.

Now Im tring to implement simple RemoteObject functionality

In app folder (red5\trunk\dist\webapps\remoting_test\WEB-INF\)
I have 3 configuration files:

1) red5-web.properties
webapp.contextPath=/remoting_test
webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088


2) red5-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
       
        <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="com.terbooter.Application"
                singleton="true" />
       

<bean id="my.handler" class="com.terbooter.RemotingClass"/>

<bean id="flexMessaging.service" class= "org.red5.server.net.remoting.FlexMessagingService">
  <property name="serviceInvoker" ref="global.serviceInvoker"/>  
  <property name="endpoints">
    <map>
      <entry key="MyHandler">
        <ref bean="my.handler"/>
      </entry>
    </map>
  </property>
</bean>

        <!--<bean id="bwCheckService.service" class="org.red5.demos.bwcheck.BandwidthDetection" />-->
       
</beans>


3) web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
   xmlns="http://java.sun.com/xml/ns/j2ee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
   version="2.4">

        <!-- Bandwidth Detection -->
        <display-name>remoting_test</display-name>

        <context-param>
                <param-name>webAppRootKey</param-name>
                <param-value>remoting_test</param-value>
        </context-param>
               
        <servlet>
                <servlet-name>gateway</servlet-name>
                <servlet-class>org.red5.server.net.servlet.AMFTunnelServlet</servlet-class>
        </servlet>

        <servlet-mapping>
                <servlet-name>gateway</servlet-name>
                <url-pattern>/gateway</url-pattern>
        </servlet-mapping>

    <listener>
        <listener-class>org.red5.logging.ContextLoggingListener</listener-class>
    </listener>
   
    <filter>
        <filter-name>LoggerContextFilter</filter-name>
        <filter-class>org.red5.logging.LoggerContextFilter</filter-class>
    </filter>
   
    <filter-mapping>
        <filter-name>LoggerContextFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Forbidden</web-resource-name>
            <url-pattern>/streams/*</url-pattern>
        </web-resource-collection>
        <auth-constraint/>
    </security-constraint>
       
</web-app>



Flex code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
        initialize="onInit()">
        <mx:Script>
                <![CDATA[
                        import mx.controls.Alert;
                        import mx.rpc.events.ResultEvent;
                        import mx.rpc.events.FaultEvent;
                        import mx.rpc.remoting.mxml.RemoteObject;
                        private var myHandler:RemoteObject;
                        private static var URI:String = "http://127.0.0.1:8088/remoting_test/gateway";
                        //private static var URI:String = "http://127.0.0.1:8080/gateway";
                        private var nc:NetConnection;
                       
                        private function onInit():void{
                        myHandler = new RemoteObject("MyHandler");
        myHandler.showBusyCursor = true;
        myHandler.endpoint = URI;
            myHandler.addEventListener("fault", onError);
        myHandler.test.addEventListener("result", onTest);
       
        this.nc = new NetConnection();
        this.nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
        this.nc.connect(URI);
                        }
                       
                        private function onNetStatus(e:NetStatusEvent):void{
                                trace(e.info.code);
                        }
                       
              private function onError(event: FaultEvent): void {
                Alert.show("Error: " + event.fault.faultString);
              }
       
              protected function onTest(event: ResultEvent): void {
                result.text = String(event.result);
              }
                ]]>
        </mx:Script>
          <mx:TextInput x="63" y="10" id="result"/>
          <mx:Label x="10" y="12" text="Result:"/>
  <mx:Button x="10" y="38" label="Invoke" click="myHandler.test();"/>
       
</mx:Application>


Whole time recieve error "Error: Send failed"