**
在写接口时,有时候会在Header传一些加密参数等信息,这时候我们要去获取这些参数,下面是获取接口传的Header参数的方法
**
org.apache.axis2.context.MessageContext mc = null;
HttpServletRequest request = null;
try {
mc = org.apache.axis2.context.MessageContext.getCurrentMessageContext();
if (mc == null)
throw new Exception("无法获取到MessageContext");
request = (HttpServletRequest) mc.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
} catch (Exception e) {
e.printStackTrace();
}
Enumeration headerNames = request.getHeaderNames();
Map<String,Object> headerMaps =new HashMap<String, Object>();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
if("token".equalsIgnoreCase(key)||"accessToken".equalsIgnoreCase(key)||"timestamp".equalsIgnoreCase(key)){
if("accessToken".equalsIgnoreCase(key)){
headerMaps.put("accessToken",value);
}else {
headerMaps.put(key,value);
}
}
}
String token=headerMaps.get("token")+"";
String timestamp=headerMaps.get("timestamp")+"";
String accessToken=headerMaps.get("accessToken")+"";
System.out.println("从header中获取到token="+token);
System.out.println("从header中获取到timestamp="+timestamp);
System.out.println("从header中获取到accessToken="+accessToken);
测试的时候可以用SoapUI去加入你想传输的参数