我有使用Axis2我稱之爲如下使用相同的回調Hanlder兩個不同的時間一個異步Web服務:asynchronus Web服務,回調問題
stub.startGetData("Foo",callbackhandler)
stub.startGetData("bar",callbackhanlder)
ServiceCallBackhandler callbackhandler = new ServiceCallBackhandler() { .....};
//ServiceCallBackhanlder and stub are generated from a WSDL file
Synchronized(callbackhandler){ callbackhandler.wait()}
//remaining code to be executed
............
...........
在這種情況下的問題是,「剩下的代碼」一旦呼叫在stub.startGetData("Foo",callbackhandler)
後返回,就會被執行。我想要回調等待,直到它還處理完stub.startGetData("boo",callbackhandler)
語句,然後執行剩餘的代碼。有沒有辦法做到這一點,而不使用兩個不同的callbackhanlders,因爲兩個返回值的處理是相同的。謝謝。
你在使用什麼API - JAX-WS,JAX-RPC?你的存根如何產生。爲什麼你要等待異步響應,因爲Web服務是同步的? – Bozho 2009-11-11 19:30:39