您的位置:首页 > 其它

五、WebService会话Session的管理

2011-03-16 10:54 344 查看
1、新建Session的WebService测试代码,代码很简单。就是记录用户登录的状态信息,放在MessageContext的ServiceContext中。代码如下:

代码package com.hoo.service;

import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

/**
* <b>function:</b>LoginService Session客户端代码
* @author hoojo
* @createDate 2011-3-9 上午11:21:59
* @file LoginServiceClient.java
* @package com.hoo.service
* @project Axis2WebService
* @blog http://blog.csdn.net/IBM_hoojo * @email hoojo_@126.com
* @version 1.0
*/
public class LoginServiceClient {

public static void main(String[] args) throws AxisFault {
String target = "http://localhost:8080/axis2/services/LoginService";
//target = "http://localhost:8080/axis2/services/MyLoginService";
RPCServiceClient client = new RPCServiceClient();
Options options = client.getOptions();
options.setManageSession(true);

EndpointReference epr = new EndpointReference(target);
options.setTo(epr);

QName qname = new QName("http://service.hoo.com", "login");
//指定调用的方法和传递参数数据,及设置返回值的类型
Object[] result = client.invokeBlocking(qname, new Object[] { "admin", "123456" }, new Class[] { boolean.class });
System.out.println(result[0]);

qname = new QName("http://service.hoo.com", "getLoginMessage");
result = client.invokeBlocking(qname, new Object[] { null }, new Class[] { String.class });
System.out.println(result[0]);
}
}执行后,结果如下:

true

admin#登陆成功

上面要说明的是options.setManageSession(true);是开启对Session管理的支持


[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: