泛微OA调用其它系统接口

这个博客展示了如何在泛微OA系统中,通过实现`ShippingApplication`类调用其他系统的API来处理流程数据。代码示例中,作者使用了HTTP POST方法,JSON对象来构造请求数据,并通过Token进行认证,实现物流信息的发送。当满足特定条件时,流程会继续;否则,流程被拦截。博客还包含了日志记录和异常处理的部分。
摘要由CSDN通过智能技术生成

package weaver.interfaces.workflow.scm;

import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.lang.StringEscapeUtils;
import org.json.JSONArray;
import org.json.JSONObject;

import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import weaver.workflow.request.RequestManager;

import com.weavernorth.util.LogUtil;
import com.weavernorth.util.SignOrderUtil;
/*SCM&OA*/ 

public class ShippingApplication implements Action{ //必须实现的接口

    private static final String targetURL = "其他系统调用地址";
    
     //查询流程主表数据
     private RecordSet mainRs = new RecordSet();//对象作用为传入SQL获取相关数据对象
     //明细数据
     private RecordSet mxRs = new RecordSet();
     //更新数据
     private RecordSet upRs = new RecordSet();
    
    public String execute(RequestInfo request) { //继承的方法
         //流程表单名称
        String tableName = "";
        //流程id
        String requestID = request.getRequestid();//获取具体表单唯一值requestid
        String workflowid = request.getWorkflowid();//获取表单workflowid
        int LastNodeid = request.getRequestManager().getLastNodeid();
        int currentNodeid = request.getRequestManager().getNodeid();//获取具体审批节点nodeid
        //查询流程表单名称
        SignOrderUtil sou= new SignOrderUtil();
        tableName=sou.getWFTableName(requestID);//获取表单名称 如:formtable_main_521
        //查询流程主表数据   
        String mainInfosql="select * from " + tableName + " where requestid = "+requestID;
        mainRs.executeSql(mainInfosql);
        mainRs.next();//获取需要的sql返回值
        LogUtil.doWriteLog("ShippingApplication==================start  mainInfosql"+mainInfosql);
        String result = "";
        ScmToken scmtoken=new ScmToken();//本示例存在一个token认证,所以有多余代码
         String token=scmtoken.GetToken();
            try {
                BaseBean bb = new BaseBean();//创建对象调用WEB-INF/prop下的配置文件properties
                String url=bb.getPropValue("SCM", "url");
                LogUtil.doWriteLog(url+"Sh

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值