2013-06-19 74 views
0

我在同一臺機器上成功安裝了WSO2 EBS和WSO2應用服務器,並解決了端口衝突問題。我在wso2門戶中提到的應用程序服務器中安裝了後端服務。我的問題是如何創建一個序列之間的ebs到appserver之間的序列ebs - appserver - ebs之間的消息流。在WSO2 EBS與WSO2之間建立流量應用服務器

注意:請參閱 http://wso2.com/library/articles/2011/01/wso2-esb-by-example-service-chaining

如果上述條件不可行,請告知如何在ebs與上述URL中提到的應用服務器之間建立消息流。

請您儘快發送有關此問題的任何文檔,視頻,屏幕截圖。

謝謝。

回答

0

在此服務鏈接場景中(在您提到的鏈接中)會發生什麼情況是服務駐留在Application Server(AS)中。然後,該服務的託管URL被定義爲ESB中的端點。因此,當ESB中的代理服務收到請求時,將對該消息執行中介,然後將其發送到在發送中介中定義的端點。從這個端點收到的響應,然後通過ESB發送給消費者。

如果您正在查看如何實施服務鏈方案,本文檔將提供更詳細的信息。

http://wso2.com/library/articles/2012/11/enterprise-service-integration-wso2-esb

希望這有助於.....

0

在這個例子中我有從客戶端接收傳入的消息代理服務。 有了這個進來的消息我解壓我從它需要的信息,在這種情況下,偏移和使用屬性中介極限,你能在這看到:

<property xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" name="offset" expression="//p:listarPersonas/p:offset"/> 

我使用日誌中介在這個序列,因爲我需要查看存儲在屬性中的值來調試東西。

之後,我使用payloadFactory創建一條新消息,因爲我需要使用該格式將此消息發送到應用程序服務器。

<send> 
     <endpoint> 
     <address uri="http://127.0.0.1:9765/services/buscarPersona"/> 
     </endpoint> 
    </send> 

所有的作品一起:

<sequence xmlns="http://ws.apache.org/ns/synapse"> 
    <log> 
     <property name="SECUENCIA" value="ENTRADA DEL LISTADO DE PERSONAS"/> 
     <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" name="offset" expression="//p:listarPersonas/p:offset"/> 
     <property xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" name="limit" expression="//p:listarPersonas/p:limit"/> 
    </log> 
    <payloadFactory> 
     <format> 
     <p:listar_persona_paginado xmlns:p="http://ws.wso2.org/dataservice">    
      <p:offset>$1</p:offset>    
      <p:limit>$2</p:limit>   
     </p:listar_persona_paginado> 
     </format> 
     <args> 
     <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:offset"/> 
     <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:limit"/> 
     </args> 
    </payloadFactory> 
    <send> 
     <endpoint> 
     <address uri="http://127.0.0.1:9765/services/buscarPersona"/> 
     </endpoint> 
    </send> 
</sequence> 
0

您可以定義自己的序列

<payloadFactory> 
     <format> 
     <p:listar_persona_paginado xmlns:p="http://ws.wso2.org/dataservice">    
      <p:offset>$1</p:offset>    
      <p:limit>$2</p:limit>   
     </p:listar_persona_paginado> 
     </format> 
     <args> 
     <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:offset"/> 
     <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:p="http://ejemplos.cuba.cu/Persona" expression="//p:listarPersonas/p:limit"/> 
     </args> 
    </payloadFactory> 

然後我使用send中介發送創建的消息發送到應用程序服務器中的端點儘可能多地滿足您的需求。但是當你從客戶端訪問這些序列時,你需要在ESB中實現代理服務。該代理服務允許您在該代理服務中調用任意數量的序列。在你的情況下,你需要訪問位於WSO2應用服務器中的後端服務。您可以從中介訪問這些服務。有關示例列表,請參閱下面的鏈接

http://docs.wso2.org/wiki/display/ESB460/Proxy+Service+Samples