سؤال

وتحرير: من الواضح كان سؤالي الأول ليس من السهل حقا أن نفهم، وآمل أن الجواب هو مفيد:)

ولقد حاولت تركيب Axis2 على خادم RED5 وذهب كل شيء طيب، وأنا الوصول إلى خصائص التطبيق RED5 من خدمة ويب مخصصة باستخدام RTMPClient RED5 ويعرضهم من خلال Axis2.

والمشكلة هي أن تفعل ذلك بهذه الطريقة لدي الخادم مستويات 2 و أنا لا حقا الوصول مباشرة من خدمة ويب إلى sharedobjects، الخ ... ما أود القيام به هو أن تكون قادرة على الوصول إلى بعض RED5 تطبيقات وظائف مباشرة من خلال خدمة فئة SOAP.

وأعتقد أنني سوف تضطر إلى إنشاء الملقم SOAP بمفردي (ربما باستخدام SimpleHTTPServer محور أو SimpleAxis2Server ؟؟)

وأي أفكار؟

وأرجو أن أكون أوضحت نفسي ... ويرجع الفضل في ذلك مسبقا

هل كانت مفيدة؟

المحلول

وحل !!! بدلا من استخدام Axis2، ولقد استخدمت JAX-WS وهو ما كنت بحاجة حقا.

ولقد خلقت طبقة لاستخدام خدمة ويب وفضح 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);
    }
}

وثم أضفت دعوة إلى Endpoint.publish () على وظيفة MyApplications appStart لتشغيل خدمة ويب بمجرد تشغيل التطبيق. I تمرير هذه كمعلمة إلى منشئ Red5WS لتكون قادرة على الوصول إلى نطاق التطبيقات من خدمة الإنترنت:

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();
    }
}

وبعد تجميع التطبيق RED5 انها لا بد منه لاستخدام wsgen لإنشاء فئات WS الحاجة.

wsgen –cp . my.package.Red5WS

وبمجرد إعادة تشغيل التطبيق RED5 يجب أن تكون قادرة على الق ملف WSDL خدمة الإنترنت من خلال:

http://localhost:8080/WebService/red5ws?WSDL
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top