2013-04-29 175 views
1

我們正在使用WSO2 ESB訪問我們的服務。我們在Application Server上開發了服務,我們可以通過使用ESB Proxy服務來訪問它們。不過,有時ESB會向我們的客戶返回空值。如果我直接打電話給我,我可以看到答覆。當ESB開始變成空值時,它會影響ESB上的所有服務。我們無法找到我們如何解決這個問題。當我們重新啓動ESB服務器時,所有事情都會重新開始。WSO2上的Web服務返回空ESB

我們正在使用WSO2 ESB 4.6.0和WSO2 AS 5.0.2

感謝,

PS:我在執行這個腳本來看待Web服務響應。但Web服務響應是空的。 curl -d @ request.xml -H「Content-Type:application/soap + xml; charset = UTF-8」「http://esbhostname.com:8280/services/Report」> response.xml

回答

1

我們注意到在直通這樣一個問題transport..but真的很難重現。 。我們注意到的是,wso2esb 4.6.0有時候會丟失POST消息體。不知道根本原因是什麼或者它發生了什麼情況。一旦我們能夠重現它,我們將盡快解決這個問題。 這個問題e發生在passthrough transport..If你真的不需要passthrough運輸,你可以切換到nio tarnsport。編輯nio傳輸的axis2.xml傳輸發送者/接收者。

+0

謝謝Ratha,我會嘗試使用NIO傳輸ESB。但是,我們也可以在負載平衡器上看到相同的例外情況。你認爲我也可以對LB使用相同的解決方法嗎? – Umut 2013-04-30 05:32:38

+0

當然,ELB也使用passthrough transport..so,在那裏可能會遇到同樣的問題......如果我們修復了這個問題,將會在esb + elb + apim – Ratha 2013-04-30 05:37:30

+0

中提供Hi Ratha,將passthroug運輸更改爲nio transport已經解決了我的問題。有沒有關於這個問題的wso2或axis2的任何開放的錯誤。我想跟隨它。謝謝 – Umut 2013-05-06 11:42:22

0

根據您的描述很難說會發生什麼。 ..但我可以建議你在AS和ESB之間使用tcpmon ...然後你可以得到一些想法出了什麼問題......

Tcpmon可以在ESB_HOME/bin /找到。將代理路由到tcpmon,並從tcpmon路由到AS。然後根據請求和響應,你可以得到一個更好的主意......

感謝,

磨憨

+0

感謝您的迴應Mohan,當我從ESB得到空的響應時,我直接從AS調用Web服務,我可以看到響應。所以我想ESB重寫AS響應並返回空字符串。 – Umut 2013-04-29 07:03:41

1

從ESB 4.6.0開始,默認運輸中繼。您可以嘗試與NHTTP傳輸相同的場景。按照以下步驟使用NHTTP而不是passthru。

  • 打開ESB_HOME /庫/ conf目錄/ carbon.xml
  • <Axis2Config>,你會發現可以找到一個名爲 <ConfigurationFile一個XML標記>。它目前指向 ${carbon.home}/repository/conf/axis2/axis2.xml
  • 修改該位置到這一點 -

    ${carbon.home}/repository/conf/axis2/axis2_nhttp.xml

  • 重新啓動WSO2 ESB

+0

嗨,我使用的是wso2 esb 4.8.1,當我使用callout mediator時,我有空的響應問題。如果我嘗試調用不可訪問的主機(例如錯誤的端點主機),則該調出中介不會引發任何錯誤,則不會執行默認的錯誤順序。沒有迴應被髮回給客戶。如何處理標註調解器中的套接字超時?同樣的測試適用於發送中介。 – andQlimax 2014-06-11 10:28:18

+1

我通過在carbon.xml中使用axis2_nhttp.xml並將此porperty添加到nhttp.properties中解決了問題:http.socket.timeout.receiver = 90000(我的標註中的套接字超時仍爲60秒,但現在調用方可以獲得錯誤) – andQlimax 2014-06-12 10:00:48

0

此類問題已由我們的客戶報告。在這種情況下,用戶觀察到從ESB向REST服務發送大約3或4個請求後,它開始停止從ESB向後端REST服務發送消息。在這種情況下,ESB只是暫停端點並在一段時間後停止向REST服務發送請求。如果您可以在ESB和AS之間放置一個tcpmon,則可以驗證是否是這種情況。同樣,這也僅在默認傳遞傳輸時發生。

+0

嗨Chanaka,我使用ESB 4.8.1,我有你提到的行爲。 ESB根本不會將任何流量轉發到後端,一旦ESB陷入這種情況,它似乎也不會恢復。沒有切換回NHTTP的最佳解決方案是什麼? WSO2是否可以公開發布修補程序,因爲這會使ESB和API管理器幾乎無法使用? – 2015-04-27 10:33:17