泛微OA流程节点后请求第三方接口


和CRM系统对接,需要在流程表单提交后,向CRM发送GET请求告知CRM系统数据有变更。
直接上代码,后续补充:

package weaver.interfaces.workflow.action.javacode;

import weaver.interfaces.workflow.action.Action;
import weaver.general.BaseBean;
import weaver.general.BaseBean;
import weaver.soa.workflow.request.RequestInfo;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 在线自定义action接口
 */
public class Action20211223034636 extends BaseBean implements Action {
    /**
     * 流程路径节点后选择aciton后,会在节点提交后执行此方法。
     */
    public String execute(RequestInfo request) {
        /*
         *  流程自定义接口代码示例
         *  
         *  1:日志
         *  writeLog("in my online edited action");
         *
         *  2:异常
         *  boolean error=true;
         *  if(error) {
         *      request.getRequestManager().setMessageid("90001");
         *      request.getRequestManager().setMessagecontent("系统异常终止流程提交!");
         *  }
         *
         *  3:获取requestid
         *  String requestId = request.getRequestid();
         *  
         *  4:获取表单名称
         *  String tablename = request.getRequestManager().getBillTableName();
         *  
         *  5:查找表单内容
         *  RecordSet rs = new RecordSet();
         *  rs.execute("select * from "+tablename+" where requestid =  "+requestId);
         *  rs.next();
         *  String mainid = rs.getString("id");                             //id:表单主键
         *  String wenben = rs.getString("wenben");                 //wenben:表单设计的字段名称
         *
         *
         */

        String url = "http://192.168.10.21:8081/FVevent?pactid=www&date=123";
        String result = httpUtilGet(url);
        writeLog("请求结果:" + result);

        return Action.SUCCESS;
    }

    // 通过http发送get请求
    public String httpUtilGet(String path) {
        StringBuilder result = new StringBuilder();
        try {
            URL url = new URL(path);
            // 打开url的连接
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            // 设置请求方式
            conn.setRequestMethod("GET");
            conn.setDoOutput(true);
            conn.setDoInput(true);

            PrintWriter out = new PrintWriter(conn.getOutputStream());
            out.flush();

            // 获取响应输入流
            InputStream is = conn.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String str = "";
            while ((str = br.readLine()) != null) {
                result.append(str);
            }
            // 关闭输入流
            is.close();
            conn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return result.toString();
    }

}

相关