gpt4 book ai didi

java - 每次调用后都有不同的Web服务对象

转载 作者:行者123 更新时间:2023-11-30 04:35:10 25 4
gpt4 key购买 nike

我是 Java EE 和 SOAP 新手。我尝试创建一个简单的 Web 服务应用程序及其客户端(环境:NetBeans 7.2.1 IDE、GlassFish Server 3.1、Java 1.6)。

网络服务代码:

package simplews;

import javax.jws.*;

@WebService(serviceName = "SimpleWebService")
public class SimpleWebService {

String something = null;

@WebMethod(operationName = "setSomething")
@Oneway
public void setSomething(@WebParam(name = "smth") String smth) {
something = smth;
}

@WebMethod(operationName = "getSomething")
public String getSomething() {
return something;
}

}

客户端应用程序代码:

package simpleclientapp;

import simplews.*;

public class SimpleClientApp {

public static void main(String[] args) {

SimpleWebService_Service service = new SimpleWebService_Service();
SimpleWebService port = service.getSimpleWebServicePort();

port.setSomething("trololo");
String smth = port.getSomething();

System.out.println(smth);
}
}

不幸的是,客户端应用程序打印出null。经过简短的调查后,我意识到,在服务器端,会为每个客户端调用创建一个新的 SimpleWebService 对象(听起来像是无状态方法)。

这里出了什么问题?为什么客户端端口每次调用都不引用相同的 WS 对象?

最佳答案

Web services are stateless by nature 。为了保持请求之间的状态,您必须保留数据(在文件、数据库等中)。

关于java - 每次调用后都有不同的Web服务对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13684449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com