2015-12-29 101 views
0

我知道Netbeans可以從.wsdl文件生成Java方法。是否有可能讓Netbeans從Java類生成Web服務?

Netbeans可以基於Java類及其所有方法創建.wsdl文件嗎?

教程像這樣的一個 告訴我如何手動創建Web服務:

https://netbeans.org/kb/docs/websvc/jax-ws.html

我知道如何做到這一點的一部分。我想知道是否有更好,更快的方法來從我已有的Java方法中啓動Web服務。

比方說,我有一個要求2個字符串輸入和返回一個Java接口類之一的字符串:

public interface WeatherInterface { 
    public String getWeatherInfo(String cityName, String zipCode); 
} 

我想知道是否有在Netbeans的代碼生成器或一些插件寫web服務代碼,這樣我就不必爲每個字段添加上面教程鏈接中顯示的「添加操作」按鈕。

我使用NetBeans 8.0.2與Java 7

這是我所得到的,當我在項目>新建> Web服務(選擇包),右鍵 - >結束

package apackage; 
import javax.jws.WebService; 
import javax.jws.WebMethod; 
import javax.jws.WebParam; 
@WebService(serviceName = "NewWebService") 
public class NewWebService { 
    /** 
    * This is a sample web service operation 
    */ 
    @WebMethod(operationName = "hello") 
    public String hello(@WebParam(name = "name") String txt) { 
     return "Hello " + txt + " !"; 
    } 
} 

無我的方法從我的Java類在該包生成....只是通用的「你好」的方法。

由於提前, 喬希

回答

0

至於我所有的研究去,沒有工具,它從你的Java方法自動生成Web服務方法。 Web服務方法足以創建。如果你有數百個這樣的東西,我爲你感到難過;這是很多包裝要做的。無論如何,這是我製作的一個:

@WebMethod(operationName = "activate") 
public String activate(
     @WebParam(name = "userEdipi") String userEdipi, 
     @WebParam(name = "adminEdipi") String adminEdipi, 
     @WebParam(name = "sarId") String sarId) { 
    try { 
     String response = acctmgrInterface.activate(userEdipi, adminEdipi, sarId); 
     return response; 
    } catch (Exception e) { 
     logger.error("AcctmgrWebService.activate(): error - have your admin check the server logs"); 
     logger.error(ExceptionUtils.getStackTrace(e.fillInStackTrace())); 
     return e.toString(); 
    } 
} 
相關問題