0

我有一台服务器,我可以从这台服务器调用我的网络服务。所以我打电话给网络服务,网络服务给我一个答案,我想根据答案运行应用程序。例如:

    answer=curl -i  -X GET "http://myserver.com/getStaus";
     switch (answer)
        {
            case 'ON':
                saveToQueue('http://myserver.com/getApp1','ON');
                do
                    {
                        retryQueueForSend('ON');            
                    }while !(lengthQueueForSend('ON')==0)
                    break;
            case 'OFF':
                saveToQueue('http://myserver.com/getApp2','OFF');
                do
                    {
                        retryQueueForSend('OFF');            
                    }while !(lengthQueueForSend('OFF')==0)
                    break;

            case 'TimeOut':
                saveToQueue('http://myserver.com/getApp3','TimeOut');
                do
                    {
                        retryQueueForSend('TimeOut');            
                    }while !(lengthQueueForSend('TimeOut')==0)
                    break;
        }
public void saveToQueue(String LinkOfWebservice,String nameOfQueue)
{
...
...
..
}
public void retryQueueForSend(String nameOfQueue)
{
...
...
..
}
public int retryQueueForSend(String nameOfQueue)
{
...
...
return len;
}

所以我想在 wso2 企业服务总线(ESB)上实现这个场景。我想我必须使用 wso2 Message Broker(MB)。谢谢指教。

4

1 回答 1

0

您可以为此实现使用 WSO2 ESB。

使用 REST API [1] 在“ http://myserver.com/getStaus ”中调用您的服务。在 REST API 的序列中,您可以切换 mediator[2] 来识别响应(检查是否打开、关闭或超时)。根据那个执行你的任务。

此实现不需要 WSO2 MB。

注意:我假设您的意思是运行 app1 作为调用后端或运行另一个 API

[1] https://docs.wso2.com/display/ESB500/Working+with+APIs [2] https://docs.wso2.com/display/ESB500/Switch+Mediator

于 2016-10-06T07:48:46.810 回答