1.在服务端server-config.wsdd(路径:eas/server/deploy/eas.ear/web.war/WEB-INF,如果缓存更新不及时,手动删除web的缓存目录/apusic/domains/server(1~N)/deploy/EAS/tmpfiles)全局参数部分,添加scope的范围:
,保证服务端返回设置jsessionid的cookie2,(java)在webservice客户端调用处设置call.setMaintainSession(true);保证axis自动携带cookie到服务端注意,调用业务方法的时候就使用这个call,不要新建例如://调用登陆接口Services=newService();Callcall=(Call)s.createCall();call.setOperationName("login");call.setTargetEndpointAddress("http://localhost:56898/ormrpc/services/EASLogin?wsdl");call.setReturnType(newQName("urn:client","WSContext"));call.setReturnClass(WSContext.class);call.setReturnQName(newQName("","loginReturn"));//超时call.setTimeout(Integer.valueOf(1000*600000*60));call.setMaintainSession(true);//登陆接口参数WSContextrs=(WSContext)call.invoke(newObject[]{"am","","eas","bos80demo","l2",Integer.valueOf(0)});System.out.println(rs.getSessionId());//清理call.clearOperation();//调用业务接口call.setOperationName("addwuliao");call.setTargetEndpointAddress("http://localhost:56898/ormrpc/services/WStettreeFacade");//call.setReturnType(newQName("urn:lang.java","String"));//call.setReturnClass(String.class);call.setReturnQName(newQName("","addwuliaoReturn"));call.setTimeout(Integer.valueOf(1000*600000*60));call.setMaintainSession(true);SOAPHeaderElementheader=newSOAPHeaderElement("http://login.webservice.bos.kingdee.com","SessionId",rs.getSessionId());call.addHeader(header);//接口参数Stringaa=(String)call.invoke(newObject[]{"callbianma","callwuliaoName"});(C#)1.设置System.Net.ServicePointManager.Expect100Continue=false;2.在登录接口和业务接口代理类的CookieContainner设置成同一个如此会正常设置jsessionid,而ngnix,f5等负载均衡通过jsessionid做会话粘帖,可满足高可用方案。通过EAS的nap做负载均衡方案,通过nap自己设置的NAPRoutIDcookie做负载均衡转发,只需设置第二步即可。其他语言同理,保证2次请求的请求头Cookie里的JSESSIONIDEASSESSIONID和NAPRoutID一致就能实现会话粘贴