如何在Oracle Service Bus中使WEB-Service異步。 請讓指南開發它!OSB中的異步WebService
http://www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx?wsdl
這是計算器的Web服務,我必須在osb中調用異步Web服務。
如何在Oracle Service Bus中使WEB-Service異步。 請讓指南開發它!OSB中的異步WebService
http://www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx?wsdl
這是計算器的Web服務,我必須在osb中調用異步Web服務。
如果我錯了,請糾正我,但每次調用代理服務都是同步的。如果你希望它是異步的,你應該把你的消息從第一個服務放到一個JMS隊列中,讓它們被另一個服務讀取。
閱讀關於OSB thread model。如果您通過路由調用Web服務,則該服務正好異步調用:在請求發送後,線程不會被阻塞並返回到線程池。多路複用器(muxer)用於等待響應。如果服務接受並返回響應,則複用器將對用於執行響應流水線的新線程的響應提交給對方。
我也認爲將初始調用放入JMS隊列是一種很好的方法,可以使WS異步並在OSB或目標系統出現問題時啓用事務安全性。
發佈使用具有JMS協議業務服務的請求轉換爲JMS隊列。 現在在同一個隊列上構建一個jms代理。在消息流中轉換消息並調用您想要異步的Web服務。最後,將響應發佈到另一個隊列中。
確保在您的WSDL中啓用/強制實施WS-Addressing。 在WS-Addressing標題中保存replyTo和操作值。 執行您的內部處理。如果這需要調用另一個異步服務,那麼使用JMS隊列或數據庫表來臨時存儲響應,併爲該響應輪詢該隊列/表。 當您收到響應和/或完成內部處理時,請使用動態路由節點調用客戶端。 您將需要使用前面的replyTo和operation來構建動態路由的XML。 就是這樣!
對不起,我不明白這個問題。你想創建一個異步OSB代理服務?或者你想異步調用Calculator Web服務? – plkmthr