泛微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) {
        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();
    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM