web service session

来源:互联网 发布:科拉传奇 知乎 编辑:程序博客网 时间:2024/06/13 21:14
package com.test.session;


import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.ServiceContext;


public class LoginService {


public boolean login(String username, String password)

if("xiewenbo".equals(username) && "xiewenbo".equals(password)) { 
// 第1步:设置key-value对 
MessageContext mc = MessageContext.getCurrentMessageContext(); 
ServiceContext sc = mc.getServiceContext(); 
sc.setProperty("login", "成功登录"); 
return true; 

else { 
return false; 

}
public String getLoginMsg() {
// 第1步:获得key-value对中的value 
MessageContext mc = MessageContext.getCurrentMessageContext(); 
ServiceContext sc = mc.getServiceContext(); 
System.out.println((String)sc.getProperty("login"));
return (String)sc.getProperty("login"); 
}
public boolean loginname(String username){
MessageContext mc = MessageContext.getCurrentMessageContext(); 
ServiceContext sc = mc.getServiceContext(); 
sc.setProperty("login",username); 
return true; 
}
public String getLoginmsg(){
MessageContext mc = MessageContext.getCurrentMessageContext(); 
ServiceContext sc = mc.getServiceContext(); 
System.out.println((String)sc.getProperty("login"));
return (String)sc.getProperty("login"); 
}

}


Client1:

public class Client {


public static void main(String args[])throws Exception{
LoginStub stub = new LoginStub();
Loginname loginname = new Loginname();
loginname.setUsername("nicholas");
stub.loginname(loginname);
System.out.println(stub.loginname(loginname));

GetLoginmsg msg = new GetLoginmsg ();
while(true){
Thread.sleep(2000);
System.out.println(stub.getLoginmsg(msg).get_return());
}
}
}


Client2:

public class Client {


public static void main(String args[])throws Exception{
LoginStub stub = new LoginStub();
Loginname loginname = new Loginname();
loginname.setUsername("xiewenbo");
stub.loginname(loginname);
System.out.println(stub.loginname(loginname));

GetLoginmsg msg = new GetLoginmsg ();
while(true){
Thread.sleep(2000);
System.out.println(stub.getLoginmsg(msg).get_return());
}
}
}





   public LoginStub(org.apache.axis2.context.ConfigurationContext configurationContext,
        java.lang.String targetEndpoint, boolean useSeparateListener)
        throws org.apache.axis2.AxisFault {
         //To populate AxisService
         populateAxisService();
         populateFaults();


        _serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);
        

        configurationContext = _serviceClient.getServiceContext().getConfigurationContext();


        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
                targetEndpoint));
        _serviceClient.getOptions().setUseSeparateListener(useSeparateListener);
        
            //Set the soap version
            _serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
            _serviceClient.getOptions().setManageSession(true);
    
    }