2014-01-28 72 views
0

如何使用代理服務在WSO2中開發Web服務?WSO2中的代理服務

在這裏應用我的Oracle Service Bus知識來創建代理服務,該代理服務將字符串作爲Input並返回相同的響應,但我發現使用我的XML Schema創建代理服務很困難。

我發現我們可以使用自定義代理模板在WSO2中執行相同的操作。 但我不確定在代理服務中定義輸入和輸出; 在傳統的Oracle Service Bus中,我們可以通過定義我們的XMl架構來實現。

回答

0

好像你需要一些回聲類型的服務。這種行爲可以通過以下方式配置wso2 esb來實現。但是,這不是一個真正的Web服務。我希望你知道什麼是Web服務,代理服務是做什麼的。但對於您的要求,您可以嘗試如下所示。

<proxy name="loopBackProxy" startonload="true" statistics="disable" trace="disable" transports="https,http" xmlns="http://ws.apache.org/ns/synapse"> 
    <target> 
     <insequence> 
     <log level="full"></log> 
     <header action="remove" name="To"></header> 
     <property name="RESPONSE" value="true"></property> 
     <!-- your esb modifications here --> 
     <send></send> 
     </insequence> 
    </target> 
    <description></description> 
</proxy> 

這不包含一個outsequence,它做的是將輸入重定向到客戶端。

+0

嗨感謝您的快速響應..我創建了代理使用上述代碼和它的工作正常。我可以看到答覆是我通過的請求。但是當我嘗試從WSO2管理控制檯測試服務時,我可以看到空的SOAP請求,它就像 ..我想這是因爲沒有任何操作暴露的服務。 – Surya

+0

請你讓我知道方法來創建一個簡單的代理服務,它應該要求客戶端通過輸入..lets說兩個整數,代理應該能夠添加兩個整數並將響應返回給客戶端。在Oracle Service Bus中,我們可以定義我們的xml模式,其中像element1類型int和element2類型int這樣的xml元素將作爲輸入,同樣,類型爲int的名爲「response」的xml元素將成爲輸出,這樣我就可以輕鬆地創建一個代理服務來執行兩個整數的添加,但是我覺得很難在WSO2中執行相同的操作 – Surya

+0

@ user3243890爲此,您需要創建一個WSDL,並修改代理以指向該WSDL。如果您的代理的輸入與後端Web服務相同,那麼您可以簡單地指出這一點。否則,以WSDL爲起點,並相應地修改輸入/輸出。 –