2011-07-25 132 views
0

我有以下要求:Java Socket服務器 - 重定向到Web應用程序(Web服務)

我需要創建一個套接字服務器來偵聽傳入的請求。套接字客戶端用C語言編寫。客戶端發送JSON數據。

客戶端輸入需要重定向到不同的來源。例如可能需要調用內部或外部Web服務(SOAP,JAX-WS)。

我的問題是,實現這種溝通的最佳方式是什麼?

回答

1

我將以觀察者身份實現重定向服務,並在您的observable(偵聽的套接字服務器)被調用時通知他。如果您不熟悉該模式,請參閱http://en.wikipedia.org/wiki/Observer_pattern。您基本上可以通過將信息進一步推向流程鏈,而不是通過重定向服務主動拉動信息來保持信息流。

我希望你不需要任何SOAP,JAX-WS的幫助 - 你的需求與通常實現這種服務的方式相比沒有什麼改變。 (如果你和我一樣懶,請使用wsimport命令行應用程序^^)

+0

假設我將套接字服務器實現爲獨立應用程序(我甚至不知道這是否是解決此問題的正確方法)。如果我理解正確,你說的是這個應用程序不應該直接與Web服務交互。如果我使用這個可觀察的模板,應該將它作爲一個獨立的Java應用程序來實現嗎?它應該是Web服務應用程序的一部分嗎?它應該運行在Web容器上嗎? – alex

+0

簡短的回答是:它取決於:) 既然你已經有了你的套接字服務器(據我所知),我會從那裏開始,不會改變任何他收到/編組JSON數據的方式。現在你已經獲得了這些數據,你可以將它發送給另一個webservice或者其他任何東西。我會實現這個類,它實際上將你的數據作爲觀察者發送給webservice(這就是我的意思)。雖然我不太瞭解你的評論..我從來沒有說過你不應該與web服務交互。 – chzbrgla

+0

不,如我所說我必須創建套接字服務器。我不是很清楚,我的意思是套接字服務器不應該直接與Web服務交互,是嗎?我仍不清楚觀察者應該居住在哪裏。它必須是套接字服務器應用程序的一部分,或者不是? – alex

相關問題