Pergunta

Edit: Obviamente a minha primeira pergunta foi realmente não é fácil de entender, espero que a resposta é útil:)

Eu tentei instalar Axis2 no servidor Red5 e tudo correu ok, eu acessei as propriedades de aplicativos Red5 de um serviço Web personalizado usando RTMPClient do Red5 e expostos-los através Axis2.

O problema é que fazê-lo dessa maneira que eu tenho um servidor de 2 níveis e eu realmente não têm acesso directo a partir do webservice aos SharedObjects, etc ... O que eu gostaria de fazer é ser capaz de acessar alguns Red5 aplicativos funções diretamente através da classe de serviço SOAP.

Suponho que terá que criar o servidor SOAP no meu próprio (talvez usando SimpleHTTPServer do Axis ou SimpleAxis2Server ??)

Todas as ideias ??

Espero me explicou ... E obrigado antecipadamente

Foi útil?

Solução

Resolvido !!! Em vez de utilizar Axis2, tenho JAX-WS usado, que é o que eu realmente precisava.

Eu criei uma classe para usar como WebService e expor meus SharedObjects

package my.package;
import javax.jws.WebService;
@WebService
public class Red5WS{
    MyApplication app = null;
    public Game(){
        /* Needed but it can be empty */
    }
    public Game(MyApplication app){
        this.app = app;
    }
    public String getAttribute(String SOname, String attrName){
        ISharedObject so = app.getSharedObject(this.app.getScope(), SOname,true);
        return so.getAttribute(attrName);
    }
}

Então eu adicionei uma chamada para Endpoint.publish () na função MyApplications Appstart para executar o WebService assim que o aplicativo é executado. Eu passar isso como um parâmetro para o construtor Red5WS para ser capaz de âmbito aplicações de acesso do serviço de web:

package my.package;
import javax.xml.ws.Endpoint;
import org.red5.server.adapter.ApplicationAdapter;
public class MyApplication extends ApplicationAdapter{
    @Override
    public boolean appStart (IScope app){
        Endpoint.publish(
            "http://localhost:8080/WebService/red5ws",
            new Red5WS(this));
        }
        return super.appStart();
    }
}

Depois de compilar o aplicativo Red5 é uma obrigação de usar o wsgen para criar as classes necessárias WS.

wsgen –cp . my.package.Red5WS

Uma vez reiniciado o aplicativo Red5 você deve ser capaz de arquivo WSDL acesso do serviço web através do:

http://localhost:8080/WebService/red5ws?WSDL
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top