是否可以让Netbeans从Java类生成Web服务?

时间:2015-12-29 16:11:01

标签: java web-services netbeans-8

我知道Netbeans可以从.wsdl文件生成Java方法。

Netbeans可以基于Java类及其所有方法创建.wsdl文件吗?

这样的教程 演示如何手动创建Web服务:

  

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

我知道该怎么做。我想知道是否有更好,更快的方法来从我已有的Java方法中提取Web服务。

假设我有一个Java接口类,它要求输入2个String并返回一个String:

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

我想知道Netbeans中是否有代码生成器或者为我编写Web服务代码的插件,以便我不必使用“添加操作”按钮添加每个字段,如上面的教程链接。

我正在使用带有Java 7的Netbeans 8.0.2

这是我在右键单击项目时获得的>新>网络服务(选择包)>光洁度

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类中的所有方法都没有生成....只是通用的“hello”方法。

提前致谢, 约什

1 个答案:

答案 0 :(得分: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();
    }
}