2013-06-19 55 views
1

我使用的是Mac OS-X 10.7.5和wso2 esb 4.0.3,其中添加了數據服務(3.2.3)功能。 我已經創建了一個工作正常的wso2數據服務。但是現在我必須在這個數據服務中實現一個ping操作,它將檢查服務的健康狀況。這個操作會得到一個消息作爲輸入,並將返回'輸入值'作爲輸出的消息。但我沒有得到如何作爲響應返回輸入值。 平opeartion請求XML: inputValue將 如何在wso2數據服務中將輸入值作爲響應值返回

平性反應的xml: inputValue將 「成功」 如何設置在WSO2數據服務水平 '性反應的數據'。請求和響應xml在下一個評論中提到。請幫助我。 謝謝,Saurabh

+0

平opeartion請求XML: inputValue將 平性反應的XML: inputValue將 「成功」

回答

0

您可以創建另一個調用dss服務的代理服務。當dss服務響應正常時,可以使用之前已存儲在上下文變量中的輸入值組合響應。

希望它有幫助!

+0

感謝您的幫助fipries.But問題是我有一個要求,我必須創建一個數據服務,這將有一個業務查詢意味着它將返回16個字段通過與數據庫交互和Ping它只是爲了檢查健康狀況因此我認爲它不應該與數據庫交互,那麼我們將如何從代理服務器中的數據服務中獲得「OK」消息。請給予更多的幫助。 –

1

如果您的數據庫是ORACLE,此解決方案將幫助您。如果不是,請嘗試獲取類似的SQL。

查詢的定義是這樣的:

<query id="Ping" useConfig="default"> 
    <sql>SELECT 'OK' OK FROM DUAL</sql> 
    <result defaultNamespace="resultNamespace" element="PingResponse"> 
     <element column="OK" name="Result" xsdType="xs:string"/> 
    </result> 
</query> 

我有測試,其結果是

<PingResponse xmlns="resultNamespace"> 
<Result>OK</Result> 
</PingResponse> 

希望它能幫助!

+0

但是我們必須從數據服務中返回2個值:(1)作爲狀態消息的數據服務的傳入值和(2)狀態碼(硬編碼)。因此,爲了返回與來自數據服務的請求相同的值,我不是獲得解決方案。關於如何使用上下文變量,請建議一個鏈接或文檔。 –

+0

我認爲這樣做的唯一方法是通過sql和存儲過程。我無法找到另一種提供WSSD資源的方式。在這裏你可以看到可用的選項http://docs.wso2.org/wiki/display/DSS300/Data+Services+and+Resources。對此的良好實踐是在ESB中實現它。 – fipries

+0

謝謝Fipries.Applied你的建議,並取得成功。 –

相關問題