Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向当前工作的java应用程序添加web服务功能_Java_Web Services_Web - Fatal编程技术网

向当前工作的java应用程序添加web服务功能

向当前工作的java应用程序添加web服务功能,java,web-services,web,Java,Web Services,Web,我正在尝试创建链接到当前工作的java应用程序的web服务功能,并且正在努力做到这一点。有IDE吗 第行: TopUpApp application = new TopUpApp(); 我正在从另一个类创建一个新实例,但在测试web服务时它似乎不起作用。在应该为真的地方以假作为回报 下面是web服务的代码 package org.me; import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebPa

我正在尝试创建链接到当前工作的java应用程序的web服务功能,并且正在努力做到这一点。有IDE吗

第行:

TopUpApp application = new TopUpApp();
我正在从另一个类创建一个新实例,但在测试web服务时它似乎不起作用。在应该为真的地方以假作为回报

下面是web服务的代码

package org.me;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.ejb.Stateless;

/**
 *
 * @author KS
 */
@WebService(serviceName = "DOAws")
@Stateless()
public class DOAws {

    /**
     * Web service operation
     */
    @WebMethod(operationName = "login")
    public boolean login(@WebParam(name = "username") int username, @WebParam(name = "password") String password) {
        TopUpApp application = new TopUpApp();
        return application.authenticate(username, password);
    }
}
它工作得很好,当我在新的主类中以这种方式运行它时(不是web服务),我得到了一个响应:


要将应用程序部署为web服务,您需要做的工作比普通java应用程序所需的工作多一点

简而言之,您需要做的是将应用程序部署到一个web服务器上,该服务器也能够部署java web应用程序。存在许多这样的web服务器,有两种流行的替代方案是和

通常要做的事情是在应该处理请求的机器上安装web服务器。接下来,您需要在该服务器上部署应用程序。为此,您需要做几件事:

  • 将应用程序打包为war(web存档)。如何做到这一点非常简单,但需要几个步骤。你应该能够通过谷歌自己解决这个问题
  • 将应用程序部署到web服务器。这通常是通过将war文件复制到web服务器的web应用程序目录来完成的。例如,tomcat安装目录下的
    webapps
    目录

  • 完成此操作后,您只需确保您的web服务器已启动并正在运行,并且您应该能够访问您的web服务。

    我使用Glassfish作为web服务器,因为它内置于Netbeans中。我能够将项目部署到服务器,但它似乎无法识别包含web服务的类之外的任何类。最后,通过将所有类复制到WebService类中,我成功地使应用程序工作,但这似乎不是最好的解决方案。谢谢
    public class NewClass {
        public static void main(String []args){
            TopUpApp application = new TopUpApp();
    
            System.out.println(application.authenticate(12345, "12345"));
        }
    
    }