1. HTTP 接口

    1. 用 NamingService 替换之前的 HttpHelper 对象,在 View 及 Bean 层可以直接使用 service.httpService().invoke(......)

    2. 接口定义在 interface.xml 里,配置方式和 WADE 3.0 一致,接口调用地址通过 global.properties 定义;

      配置如下:

      #一般我们在 web.xml 里配置了 HTTP 的 Servlet,通过这个参数可以控制是否需要提供 HTTP 服务,默认为 false;

      service.http=true
      

      #配置 HTTP 调用的地址及路径

      http.usedefaultsvc=true
      http.defaultaddr=10.168.7.99:8080
      http.defaultsvc=/saleserv/httptran/CrmService
      
    3. 针对 HTTP 接口调用提供统一接入点,通过实现 IHttpVerify 接口即可;

      框架提供了 BaseHttpVerify 的默认实现,可根据业务需要实现这个接口,要使 Servlet 使用自定义的接口,需要在 web.xml 里修改配置如下:

      <servlet>
      	<servlet-name>httptran</servlet-name>
      	<servlet-class>com.ailk.app.AppHttpServlet</servlet-class>
      	<init-param>
      		<param-name>verify</param-name>
      		<param-value>com.ailk.agent.core.common.AgentHttpVerify</param-value>
      	</init-param>
      	<load-on-startup>1</load-on-startup>
      </servlet>
      

      IHttpVerify 接口说明:

      这个接口提供统一的接口验证器,可以通过它实现对所有接口名的权限验证等逻辑,IHttpVerify 的执行逻辑伪代码如下:

      IHttpVerify.init();
      if (IHttpVerify.filtered()) {
      	int code = IHttpVerify.verify(inparam);
      	if (code < 0) {
      		verify.error(code, inparam);
      		return;
      	}
      }
      
      方法名称 public void init(IData param);
      方法描述 初始化参数,可以添加一些公用参数在这里;
      方法名称 public boolean filtered(String name);
      方法描述 需要过滤的服务名,如登录服务是不需要验证权限;
      方法名称 public int verify(IData param);
      方法描述 服务名验证逻辑都可以在这里处理,如果验证不通过则返回 int 值;
      方法名称 public String error(int code, IData param);
      方法描述 可根据 verify 返回的 int 值,返回错误信息;