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