远程接口,无法保存类的特性吗?

playboylee 2007-08-02 01:05:17
以下是远程类:
public class HelloWorld
{
private boolean loginFlag = false;

public void login(String name,String password){
.
.

loginFlag = true;

}

public String[] getUserInfo(){
String name = "kelin";
String[] ss = new String[4];
ss[0] = name + "0";
ss[1] = name + "1";
ss[2] = name + "2";
ss[3] = name + "3";
if(loginFlag){
System.out.println("SUCCEEFUL....");
}
else
System.out.println("no.....");
return ss;
}

}//end class

但是用junit测试:

代码如下:
public class TestWSClient extends TestCase {

public TestWSClient(String string) {
super(string);
}

public void SayHelloClient() throws Exception {

localhost.gkbws.services.ws.HelloWorldService service = new localhost.gkbws.services.ws.HelloWorldServiceLocator();
localhost.gkbws.services.ws.HelloWorld client = service.getws();
client.login("dd","bb");

String[] retValue = client.getUserInfo();
for (int i = 0; i < retValue.length; i++) {
String s = retValue[i];
System.out.println(s);
}
//System.out.println(retValue);
}

public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestWSClient("SayHelloClient"));
return suite;
}
}
返回是:
kelin0
kelin1
kelin2
kelin3
no.....

说明flag没有变
这也就是说,远程接口只是方法调用,无法保存类的基本特性

现在的接口是要先调用login方法,才可以用etUserInfo()方法,我如何实现呢?
第一次用web service就发现这个问题,郁闷了。。。




...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
piaopiao11 2007-08-02
  • 打赏
  • 举报
回复
web service里面本来都没有状态,它只对外提供调用方法而已,登录的状态信息只能在本地保存。
playboylee 2007-08-02
  • 打赏
  • 举报
回复
把 loginFlag 变为static,那还有什么用。。嗨
piaopiao11 2007-08-02
  • 打赏
  • 举报
回复
把 loginFlag 变为static
playboylee 2007-08-02
  • 打赏
  • 举报
回复
实现serialize接口,也不行
薛定谔之死猫 2007-08-02
  • 打赏
  • 举报
回复
Client只是本地代理,JUnit是可以真枪实弹滴干滴,是不是其它的问题
dice_com 2007-08-02
  • 打赏
  • 举报
回复
你的类要实现serialize接口

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧