远程接口,无法保存类的特性吗?
以下是远程类:
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就发现这个问题,郁闷了。。。