2014-03-07 42 views
2

我有一個Java Application。我使用Netbeans 7.4 IDE。我想在此應用程序中託管一些web service methods,以便其他客戶端可以使用此Web應用程序獲取此應用程序提供的數據。
我不想在任何web服務器上託管這個web servis,我只想在應用程序本身like WCF selfhosting in .NET中託管這個web服務器。
我一直在開發C#應用程序,我知道WCF的知識,但我只是Java世界的開端。是否有可能在應用程序本身內託管Web服務端點,就像在.NET中發生的一樣?如何在java應用程序中執行selfhosting web服務

回答

0

從Java 6開始,Web服務器隨jre(com.sun.net.httpserver.HttpServer)一起提供。一些框架可以利用這個(例如restlet)。

0

那麼這取決於你的意思是「自我託管」。最簡單的方法是在應用程序中使用嵌入式Jetty服務器。這通常是不被接受的,因爲它爲每個Web服務綁定了一個端口,並且如果您將擁有不止一個端口,它很快就會變得難以管理,而不是簡單地將所有Web服務託管在相同容器。但是,如果只是一個小型的私人項目,沒有其他人會使用,以嵌入式Jetty或Tomcat運行就沒問題。請注意,雲服務可能難以使用,但如果這不是問題,請繼續。

2

答案accourding我的需求已經here

我看到,我只需要添加新的Java類,並添加XML annoitions像@WebService和@WebMethod使類的Web服務。然後,我只需要添加以下幾行來發布此服務:

public static void main(String[] args) { 
     String address = "http://127.0.0.1:8023/_WebServiceDemo"; 
     Endpoint.publish(address, new MyWebService()); 
     System.out.println("Listening: " + address); 

    } 
相關問題