2011-04-12 102 views
2

我有一個Java項目,經過大量研究,我設法將其轉換爲Eclipse中的Dynamic Web Project。現在我想爲它添加一個新的Web服務。我已經開發了一堂課。我想將其轉換爲標準的Web服務,所以我可以從我的Silverlight應用程序調用它。這是我目前的課程:Java - 從可用類創建Web服務

public class MyWebService 
{ 
    @Resource 
    WebServiceContext context; 

    @WebMethod 
    public String ProcessQuery(@WebParam(name="query") String q) 
    { 
     MessageContext messageContext = context.getMessageContext(); 
     HttpServletRequest request = (HttpServletRequest) messageContext.get(SOAPMessageContext.SERVLET_REQUEST); 
     // now you can get anything you want from the request 
    } 

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

我該怎麼在Eclipse中做到這一點?請張貼鏈接到教程或快速一步一步的指南。我是.Net開發人員,我對Java很陌生。

謝謝。

PS:所以基本上我想以標準的方式發佈這個服務,而不是調用這個主函數並使用Endpoint.publish()方法。

+0

基本創建web服務並部署到服務器和更改url部分http://www.youtube.com/channel/UC_9g5P2uLKhwUebVoNJzH5g – 2014-03-17 11:37:46

回答

3

The Eclipse wiki有一個教程,使用Web Tools Platform來做你正在尋找的東西。它需要WTP和Tomcat,如果你沒有那些已經可用的Eclipse。它從一個未註釋的類開始,並以WSDL和測試客戶端結束。它允許您查看生成的SOAP消息。

要創建,它會指示您選擇要轉換爲Web服務的文件並運行File -> New -> Other... -> Web Services -> Web Service。然後單擊Next,將滑塊移動到Start Service的位置,將客戶端移動到Test Client。您選擇Monitor the Web Service,然後點擊Finish。然後你可以和你的測試客戶端一起玩,看看你生成的WSDL。

請注意,以上段落是本教程的摘要,您可以在提供的鏈接中完整地找到該教程的摘要。

+0

我做了所有的步驟,但當我嘗試訪問方法(無論是在我的Silverlight應用程序或服務資源管理器)我得到這個:org.apache.axis.InternalException:java.lang.Exception:無法找到一個匹配的Java操作WSDD操作「processQuery」(1 args) – 2011-04-12 13:32:45

+0

@Alireza - 你按照我的總結或實際教程? – justkt 2011-04-12 13:43:46

+2

我注意到你提到的異常是processQuery,但是這個方法被定義爲帶有catchital P的ProcessQuery。你有沒有試圖改變它們以匹配? – Sean 2011-04-12 14:00:59