泛微oa的webservice接口根据客户案例

这个是客户的webservice请求报文:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><S:Body><ns2:doCreateWorkflowRequest xmlns="http://webservices.workflow.weaver" xmlns:ns2="webservices.services.weaver.com.cn"><ns2:in0><creatorId>60000615</creatorId><requestName>esigntest福建吉诺车辆服务测试救援系统使用权外销-杨明亮-2023-11-09</requestName><workflowBaseInfo><workflowId>90021</workflowId></workflowBaseInfo><workflowDetailTableInfos><WorkflowDetailTableInfo><workflowRequestTableRecords><WorkflowRequestTableRecord><workflowRequestTableFields><WorkflowRequestTableField><edit>true</edit><fieldName>yzgsmc</fieldName><fieldShowName>印章公司名称</fieldShowName><fieldValue>福州吉诺网络科技有限公司</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>yzmc</fieldName><fieldShowName>印章名称</fieldShowName><fieldValue>E签宝电子印章</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>gzwjmc</fieldName><fieldShowName>盖章文件名称</fieldShowName><fieldValue>esigntest福建吉诺车辆服务测试救援系统使用权外销</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>gzsy</fieldName><fieldShowName>盖章事由 (如为合同/协议需填写金额/有效期)</fieldShowName><fieldValue>esigntest福建吉诺车辆服务测试救援系统使用权外销</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>xwdw</fieldName><fieldShowName>行文单位</fieldShowName><fieldValue>esigntest福建吉诺车辆服务测试</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>gzfs</fieldName><fieldShowName>盖章份数</fieldShowName><fieldValue>1</fieldValue><view>true</view></WorkflowRequestTableField></workflowRequestTableFields></WorkflowRequestTableRecord></workflowRequestTableRecords></WorkflowDetailTableInfo></workflowDetailTableInfos><workflowMainTableInfo><requestRecords><WorkflowRequestTableRecord><workflowRequestTableFields><WorkflowRequestTableField><edit>true</edit><fieldName>sqrq</fieldName><fieldShowName>申请日期</fieldShowName><fieldValue>2023-11-09</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sqr</fieldName><fieldShowName>申请人</fieldShowName><fieldValue>60000615</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sqrbm</fieldName><fieldShowName>申请人部门</fieldShowName><fieldValue/><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sqrgw</fieldName><fieldShowName>申请人岗位</fieldShowName><fieldValue/><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sqrssgs</fieldName><fieldShowName>申请人所属公司</fieldShowName><fieldValue/><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sjsqdw</fieldName><fieldShowName>实际申请单位</fieldShowName><fieldValue/><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sjsqdwqc</fieldName><fieldShowName>实际申请单位全称</fieldShowName><fieldValue/><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sqnr</fieldName><fieldShowName>申请内容</fieldShowName><fieldValue>esigntest福建吉诺车辆服务测试救援系统使用权外销</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>je</fieldName><fieldShowName>金额</fieldShowName><fieldValue>888</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sfyhthxy</fieldName><fieldShowName>是否有合同或者协议</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>htjf</fieldName><fieldShowName>合同甲方</fieldShowName><fieldValue>esigntest福建吉诺车辆服务测试</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>htyf</fieldName><fieldShowName>合同乙方</fieldShowName><fieldValue>福州吉诺网络科技有限公司</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>httgf</fieldName><fieldShowName>合同提供方</fieldShowName><fieldValue>1</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sjje</fieldName><fieldShowName>涉及金额</fieldShowName><fieldValue>888</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sfyfj</fieldName><fieldShowName>是否有附件</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>fjsfytj</fieldName><fieldShowName>附件是否已提交</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sfwwsmbht</fieldName><fieldShowName>是否为我司模板合同</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>mbbh</fieldName><fieldShowName>模板编号</fieldShowName><fieldValue>JNFZ-FB-202101</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sfkxg</fieldName><fieldShowName>是否可修改</fieldShowName><fieldValue>1</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>htlx</fieldName><fieldShowName>合同类型</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>htbjhnr</fieldName><fieldShowName>合同背景/内容说明及具体承办人意见(包括但不限于审核需求、如希望完成时间,对方格式条款不同意修改、需要特别审核的内容等)</fieldShowName><fieldValue>esigntest福建吉诺车辆服务测试救援系统使用权外销</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sfsjgz</fieldName><fieldShowName>是否涉及盖章</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>gzjbr</fieldName><fieldShowName>总部经办人</fieldShowName><fieldValue>60000615</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>sfydagd</fieldName><fieldShowName>是否有档案归档</fieldShowName><fieldValue>0</fieldValue><view>true</view></WorkflowRequestTableField><WorkflowRequestTableField><edit>true</edit><fieldName>xgfj</fieldName><fieldShowName>相关附件</fieldShowName><fieldType>http:救援系统销售电子合同.pdf</fieldType><fieldValue>https://obs-rescue.saa.com.cn/qa/master/esign/20231109/1699499602407.pdf</fieldValue><view>true</view></WorkflowRequestTableField></workflowRequestTableFields></WorkflowRequestTableRecord></requestRecords></workflowMainTableInfo></ns2:in0><ns2:in1>60000615</ns2:in1></ns2:doCreateWorkflowRequest></S:Body></S:Envelope>

1.测试和写代码之前先去配置一下文件内容,

\WEAVER\ecology\WEB-INF文件夹下的web.xml文件

测试生成的wsdl文件:

!!注意:不要用localhost会无效

http://127.0.0.1:端口号/services?wsdl 或者127.0.0.1:8099/services/WorkflowServiceXml?wsdl

这样显示就是成功了

2.其次我们打开soapui

我这里之前用的mysql,最近项目要用sqlserver的数据库就不方便演示结果了 各位大佬自己测试。

3.其次附上最重要的代码:

想要代码生效必须在:

package weaver.workflow.webservices; 这个包下面

包下的类名必须叫做webserviceImpl

改系统的这个方法之前最好先备份一份。

修改创建流程的代码:

需要根据你们本地或者客户的流程来写代码,我的印章是跟建模台账有关,并且用的公共选择框,在明细表添加。其他的代码就是申请人带出相关单位部门等信息。

public String doCreateWorkflowRequest(WorkflowRequestInfo wri, int userid) {
        try {
            RecordSet recordSet = new RecordSet();
            String wriInfo = jsonObject.toJSONString(wri);
            log.error("获取到的参数:"+wri);
            //remark:zdh 2023-11-13吉诺 救援流程字段带出功能
            JSONObject wriJson = (JSONObject) jsonObject.toJSON(wri);
            JSONObject workflowBaseInfo = (JSONObject) wriJson.get("workflowBaseInfo");;
            String workflowId = (String) workflowBaseInfo.get("workflowId");
            log.error("获取到的流程id:"+workflowId);
            RecordSet recordSet2 = new RecordSet();
            if (workflowId.equals("90021") || workflowId.equals("70536")||workflowId.equals("100")) {
//                String sql = "select loginid from hrmresource where id=?";
//                recordSet.executeQuery(sql, userid);
//                recordSet.next();
//                String reuserid = recordSet.getString("loginid");
                recordSet.executeQuery("select a.id,a.DEPARTMENTID,a.SUBCOMPANYID1,a.JOBTITLE,b.departmentmark " +
                        " from HRMRESOURCE a,hrmdepartment b where a.DEPARTMENTID=b.id and loginid=?", String.valueOf(userid));
                if (recordSet.next()) {
                    log.info("recordSet.getInt():" + recordSet.getInt("id"));
                    int ryid = recordSet.getInt("id");//得到查询人的id
                    userid = recordSet.getInt("id");//得到id
                    wri.setCreatorId(userid + "");
                    String departmentid = recordSet.getString("DEPARTMENTID");//所属部门id
                    String subcompanyid = recordSet.getString("SUBCOMPANYID1");//所属分部1 id
                    String jobtitle = recordSet.getString("JOBTITLE");//岗位
                    String departmentmark = recordSet.getString("departmentmark");//部门标识
                    //转换主表单的相关人员信息
                    WorkflowMainTableInfo mainTableInfo = wri.getWorkflowMainTableInfo();
                    if (mainTableInfo != null) {
                        WorkflowRequestTableRecord[] records = mainTableInfo.getRequestRecords();
                        for (int i = 0; i < records.length; i++) {
                            WorkflowRequestTableField[] tableFields = records[i].getWorkflowRequestTableFields();
                            String requestid = "";
                            for (int j = 0; j < tableFields.length; j++) {
                                WorkflowRequestTableField field = tableFields[j];
                                if ("sqr".equals(field.getFieldName())) { //申请人字段
                                    field.setFieldValue(String.valueOf(userid));
                                }
                                if ("sqrbm".equals(field.getFieldName()) || "sjsqdw".equals(field.getFieldName()) || "fycdbm".equals(field.getFieldName())) {
                                    field.setFieldValue(departmentid); //申请人部门 ,实际申请单位
                                }
                                if ("sqrgw".equals(field.getFieldName())) { //申请人岗位
                                    field.setFieldValue(jobtitle);
                                }
                                if ("sqrssfb".equals(field.getFieldName())) {
                                    field.setFieldValue(subcompanyid);
                                }
//                                if ("sqrssgs".equals(field.getFieldName()))  { //申请人所属公司
//                                    field.setFieldValue(subcompanyid);
//                                }
                                if ("sjsqdwbmqc".equals(field.getFieldName()) || "sqrbmqc".equals(field.getFieldName())  || "sjsqdwqc".equals(field.getFieldName()) || "bmqcsqrbm".equals(field.getFieldName())) {//部门全称, 实际申请单位全称,申请人所属公司
                                    field.setFieldValue(departmentmark);
                                }
                                //总部经办人
                                if ("gzjbr".equals(field.getFieldName())) {
                                    recordSet2.executeQuery("select id from hrmresource where loginid=?", field.getFieldValue());
                                    while (recordSet2.next()) {
                                        field.setFieldValue(recordSet2.getString("id"));
                                    }
                                }
                                if ("oalcbh".equals(field.getFieldName())) {
                                    recordSet2.executeQuery("select requestid from workflow_requestbase where requestmark=?", field.getFieldValue());
                                    while (recordSet2.next()) {
                                        requestid = recordSet2.getString("requestid");
                                    }
                                }
                            }
                            //浏览按钮
                            WorkflowRequestTableField field = new WorkflowRequestTableField();
                            field.setEdit(true);//可编辑
                            field.setFieldName("oaxglc");//字段名
                            field.setFieldShowName("oa相关流程");//展示名
                            field.setFieldValue(requestid);//流程id
                            field.setView(true);//可查看
                            WorkflowRequestTableField[] newFields = new WorkflowRequestTableField[tableFields.length + 1];
                            for (int j = 0; j < tableFields.length; j++) {
                                newFields[j] = tableFields[j];
                            }
                            newFields[tableFields.length] = field;
                            records[i].setWorkflowRequestTableFields(newFields);
                        }
                    }
                    //明细表字段 关于印章公司 印章名称
                    WorkflowDetailTableInfo[] detailTableInfos = wri.getWorkflowDetailTableInfos();
                    if (detailTableInfos != null) {
                        for (WorkflowDetailTableInfo detailTableInfo : detailTableInfos) {
                            WorkflowRequestTableRecord[] records = detailTableInfo.getWorkflowRequestTableRecords();
                            for (int i = 0; i < records.length; i++) {
                                WorkflowRequestTableField[] tableFields = records[i].getWorkflowRequestTableFields();
                                String yzgsmc = "", yzmc = "";
                                int idx_yzgsmc = 0, idx_yzmc = 0;
                                for (int j = 0; j < tableFields.length; j++) {
                                    WorkflowRequestTableField field = tableFields[j];
                                    if ("yzgsmc".equals(field.getFieldName())) {//印章公司名称
                                        yzgsmc = field.getFieldValue();
                                        log.error("获取到的流程id:"+yzgsmc);
                                        idx_yzgsmc = j;
                                        log.error("获取到的流程id:"+idx_yzgsmc);
                                        log.info("yzgsmc");
                                    }
                                    if ("yzmc".equals(field.getFieldName())) {//印章名称
                                        yzmc = field.getFieldValue();
                                        log.error("获取到的流程id:"+yzmc);
                                        idx_yzmc = j;
                                        log.error("获取到的流程id:"+idx_yzmc);
                                    }
                                }
                                //remark:zdh 2023-11-13印章转换
                                recordSet2.executeQuery("SELECT uf_yztz.id, mode_selectitempagedetail.disorder\n" +
                                        "FROM mode_selectitempagedetail\n" +
                                        "INNER JOIN uf_yztz ON mode_selectitempagedetail.disorder = uf_yztz.yzmc\n" +
                                        "WHERE uf_yztz.yzgsmc = ?\n" +
                                        "AND mode_selectitempagedetail.name = ?", yzgsmc, yzmc);
                                while (recordSet2.next()) {
                                    tableFields[idx_yzgsmc].setFieldValue(recordSet2.getString("id"));
                                    tableFields[idx_yzmc].setFieldValue(recordSet2.getString("disorder"));
                                }
                            }
                        }
                    }
                }
            } else {
                //remark: ganst 2022-3-22 增加夏谷人员ID转换功能 begin
                //客诉、服务商业合同,创建流程时需要转换相关字段
                recordSet.executeQuery("select * from uf_ksjdpzb where  rownum=1");
                String lcid = "";
                if (recordSet.next()) {
                    lcid = recordSet.getString("lcid");
                }
                log.info("userid:" + userid + ",lcid:" + lcid + ",getWorkflowId:" + wri.getWorkflowBaseInfo().getWorkflowId());
                if (lcid.contains(wri.getWorkflowBaseInfo().getWorkflowId())) {
                    recordSet.executeQuery("select a.id,a.DEPARTMENTID,a.SUBCOMPANYID1,a.JOBTITLE,b.departmentmark " +
                            " from HRMRESOURCE a,hrmdepartment b where a.DEPARTMENTID=b.id and loginid=?", userid + "");
                    if (recordSet.next()) {
                        log.info("recordSet.getInt():" + recordSet.getInt("id"));
                        int ryid = recordSet.getInt("id");//得到查询人的id
                        userid = recordSet.getInt("id");//得到id
                        wri.setCreatorId(userid + "");//将申请人字段转换为id
                        String departmentid = recordSet.getString("DEPARTMENTID");//所属部门id
                        String subcompanyid = recordSet.getString("SUBCOMPANYID1");//所属分部1 id
                        String jobtitle = recordSet.getString("JOBTITLE");//岗位
                        String departmentmark = recordSet.getString("departmentmark");//部门标识
                        //转换主表单的相关人员信息
                        WorkflowMainTableInfo mainTableInfo = wri.getWorkflowMainTableInfo();
                        if (mainTableInfo != null) {
                            WorkflowRequestTableRecord[] records = mainTableInfo.getRequestRecords();
                            for (int i = 0; i < records.length; i++) {
                                WorkflowRequestTableField[] tableFields = records[i].getWorkflowRequestTableFields();
                                String requestid = "";
                                for (int j = 0; j < tableFields.length; j++) {
                                    WorkflowRequestTableField field = tableFields[j];
                                    if ("sqr".equals(field.getFieldName())) { //申请人字段
                                        field.setFieldValue(String.valueOf(userid));
                                    }
                                    if ("sqrbm".equals(field.getFieldName()) || "sjsqdw".equals(field.getFieldName()) || "fycdbm".equals(field.getFieldName())) {
                                        field.setFieldValue(departmentid); //申请人部门 ,实际申请单位
                                    }
                                    if ("sqrgw".equals(field.getFieldName())) { //申请人岗位
                                        field.setFieldValue(jobtitle);
                                    }
                                    if ("sqrssfb".equals(field.getFieldName())) {
                                        field.setFieldValue(subcompanyid);
                                    }
                                    if ("sqrssfb".equals(field.getFieldName())) {
                                        field.setFieldValue(subcompanyid);
                                    }
                                    if ("sjsqdwbmqc".equals(field.getFieldName()) || "sqrbmqc".equals(field.getFieldName())) {//部门全称, 实际申请单位全称
                                        field.setFieldValue(departmentmark);
                                    }
                                    //总部经办人
                                    if ("zbjbr".equals(field.getFieldName())||"gzjbr".equals(field.getFieldName())) {
                                        recordSet2.executeQuery("select id from hrmresource where loginid=?", field.getFieldValue());
                                        while (recordSet2.next()) {
                                            field.setFieldValue(recordSet2.getString("id"));
                                        }
                                    }
                                    if ("oalcbh".equals(field.getFieldName())) {
                                        recordSet2.executeQuery("select requestid from workflow_requestbase where requestmark=?", field.getFieldValue());
                                        while (recordSet2.next()) {
                                            requestid = recordSet2.getString("requestid");
                                        }
                                    }
                                }
                                //浏览按钮
                                WorkflowRequestTableField field = new WorkflowRequestTableField();
                                field.setEdit(true);//可编辑
                                field.setFieldName("oaxglc");//字段名
                                field.setFieldShowName("oa相关流程");//展示名
                                field.setFieldValue(requestid);//流程id
                                field.setView(true);//可查看
                                WorkflowRequestTableField[] newFields = new WorkflowRequestTableField[tableFields.length + 1];
                                for (int j = 0; j < tableFields.length; j++) {
                                    newFields[j] = tableFields[j];
                                }
                                newFields[tableFields.length] = field;
                                records[i].setWorkflowRequestTableFields(newFields);
                            }
                        }
                        //明细表字段
                        WorkflowDetailTableInfo[] detailTableInfos = wri.getWorkflowDetailTableInfos();
                        if (detailTableInfos != null) {
                            for (WorkflowDetailTableInfo detailTableInfo : detailTableInfos) {
                                WorkflowRequestTableRecord[] records = detailTableInfo.getWorkflowRequestTableRecords();
                                for (int i = 0; i < records.length; i++) {
                                    WorkflowRequestTableField[] tableFields = records[i].getWorkflowRequestTableFields();
                                    String yzgsmc = "", yzmc = "";
                                    int idx_yzgsmc = 0, idx_yzmc = 0;
                                    for (int j = 0; j < tableFields.length; j++) {
                                        WorkflowRequestTableField field = tableFields[j];
                                        if ("yzgsmc".equals(field.getFieldName())) {//印章公司名称
                                            yzgsmc = field.getFieldValue();
                                            idx_yzgsmc = j;
                                        }
                                        if ("yzmc".equals(field.getFieldName())) {//印章名称
                                            yzmc = field.getFieldValue();
                                            idx_yzmc = j;
                                        }
                                    }
                                    recordSet2.executeQuery("select a.id,b.disorder from uf_yztz a,mode_selectitempagedetail b where " +
                                            "a.yzmc=disorder and mainid=5501 and a.yzgsmc=? and b.name=?", yzgsmc, yzmc);
                                    while (recordSet2.next()) {
                                        tableFields[idx_yzgsmc].setFieldValue(recordSet2.getString("id"));
                                        tableFields[idx_yzmc].setFieldValue(recordSet2.getString("disorder"));
                                    }
                                }
                            }
                        }
                    }
                }
            }

            log.error("webservice创建流程,创建人:" + userid + "报文参数如下:" + wriInfo);
            long startCreateTime = System.currentTimeMillis();
            wri = getActiveWorkflowRequestInfo(wri);
            RequestInfo ri = toRequestInfo(wri);
            if (ri.getCreatorid() == null || ri.getCreatorid().isEmpty()) {
                ri.setCreatorid(userid + "");
            }
            if (userid == 0 && !ri.getCreatorid().equals("")) {
                //当userid=0,但在wri中设置了创建人,为了兼容这种情况,不需要再设置了。
            } else {
                //如果发现人员id不一样,使用userid
                if (!ri.getCreatorid().equals(userid + "")) {
                    ri.setCreatorid(userid + "");
                }
            }
            ri.setIsNextFlow(wri.getIsnextflow());
            String requestId = requestService.createRequest(ri);

            if (HrmClassifiedProtectionBiz.isOpenClassification()) {//开启涉密,更新流程密级
                String defaultSecLevel = new HrmClassifiedProtectionBiz().getDefaultResourceSecLevel();
                if ("".equals(wri.getSecLevel())) {
                    wri.setSecLevel(defaultSecLevel);
                }
                new RequestSecLevelBiz().updateSecLevelByRequestId(requestId, wri.getSecLevel());
            }
            //更新流程请求标题字段Start
            recordSet.executeQuery("select wr.currentnodeid,wr.requestname,wb.formid,wb.isbill from workflow_requestbase wr inner join workflow_base wb on wr.workflowid = wb.id where wr.requestid = ? ", requestId);
            if (recordSet.next()) {
                new SetNewRequestTitle().getAllRequestName(recordSet, requestId + "", recordSet.getString("requestname"), ri.getWorkflowid() + "", recordSet.getString("nodeid"), Util.getIntValue(recordSet.getString("formid")),
                        Util.getIntValue(recordSet.getString("isbill")), new User(Integer.parseInt(ri.getCreatorid())).getLanguage());
            }
            //更新流程请求标题字段End
            long endCreateTime = System.currentTimeMillis();
            log.info("~~~webservice接口创建流程ID:" + requestId + "总耗时/ms~~~:" + (endCreateTime - startCreateTime));
            return requestId;
        } catch (Exception e) {
            e.printStackTrace();
            writeLog(e);
        }
        return null;
    }

  • 32
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 泛微oa是一种常用的办公自动化软件,它可以通过WebService接口进行调用。WebService接口是一种基于Web的技术,可以使不同的应用程序之间进行数据交互和通信。 调用泛微OAWebService接口需要以下步骤: 1. 确定要调用的WebService接口的地址。通常情况下,泛微OAWebService接口地址为"http://[oa域名]/ServiceForAndroid.asmx"。可以在泛微OA的官方文档或者相关的技术资料中找到接口地址。 2. 创建一个调用WebService接口客户端。可以使用Java、.NET等编程语言来创建客户端。根据不同的编程语言和开发平台,创建客户端的方式也会有所不同。 3. 根据需要调用的接口方法,将参数传递给相应的接口方法。每个接口方法都有相应的功能或者操作,可以根据需求选择合适的方法进行调用。 4. 调用WebService接口方法,并获取返回结果。根据接口的返回值类型不同,可以通过相应的方式获取返回结果。 5. 对返回结果进行处理和解析。根据返回结果的不同格式和数据结构,可以对返回结果进行相应的处理和解析,以便后续的业务逻辑操作或者展示。 需要注意的是,调用泛微OAWebService接口需要提供相应的权限和认证。通常情况下,需要提供访问接口的用户名和密码。 以上是关于如何对泛微OAWebService接口进行调用的简要介绍。具体的调用方式和操作细节可以参考泛微OA的官方文档或者相关的技术资料。 ### 回答2: 泛微OA是一种常用的企业办公自动化系统,它提供了丰富的功能和扩展性,其中包括了Webservice接口的调用。Webservice是一种基于Web服务标准的接口调用方式,可以实现不同系统之间的数据交互和功能扩展。 在使用泛微OAWebservice接口进行开发和调用时,首先需要了解OA系统提供的接口文档和功能接口,以便清楚接口的使用方法和参数格式。接口文档通常包含了接口的名称、输入参数、输出参数等信息,开发人员可以根据需要对接口进行调用和测试。 接口调用的步骤大致如下: 1. 确定需要调用的接口名称:根据业务需求,确定需要调用的接口名称。 2. 创建Webservice客户端:在开发环境中创建Webservice客户端,用于与OA系统的接口进行通信。 3. 设置Webservice接口的访问地址:根据OA系统提供的接口地址、命名空间等信息,进行配置。 4. 构造请求参数:根据接口文档中定义的输入参数,构造相应的请求参数。 5. 调用接口方法:通过Webservice客户端调用相应的接口方法,将请求参数传递给OA系统。 6. 处理响应结果:接收到OA系统返回的响应结果后,根据接口文档中定义的输出参数进行处理和解析。 7. 处理异常情况:在接口调用过程中,可能会发生各种异常情况,需要进行相关的异常处理。 总的来说,泛微OA Webservice接口调用是一种方便灵活的方式,可以实现企业业务系统与OA系统之间的数据交互和功能扩展。通过了解接口文档和按照规范进行开发,可以有效地调用和管理接口,提高工作效率和系统的整合性。 ### 回答3: 泛微OA是一款功能强大的企业管理软件,具有开放的Web服务接口,可以实现与其他系统的数据交互和集成。通过调用泛微OA的Web服务接口,可以实现各种功能,如创建、修改和删除数据,查询数据,以及执行各种操作。 泛微OA的Web服务接口使用SOAP(简单对象访问协议)协议进行通信,通过HTTP或HTTPS进行数据传输。开发者可以使用各种编程语言,如Java、C#等,通过SOAP协议调用泛微OA的Web服务接口。 使用泛微OAWebService接口,需要先通过身份验证获得访问权限。在调用接口之前,需要传递正确的用户名和密码进行认证,以确保只有授权的用户能够访问和操作数据。 接口调用时,需要传递特定的参数和数据格式,根据接口文档提供的方法和参数进行调用。例如,如果要创建一个新的公文,可以调用CreateDoc方法,传递相应的参数,如公文标题、内容等。调用接口后,会返回相应的结果,通过接口返回的数据可以进行进一步的处理和操作。 在进行接口调用时,需要注意接口的安全性和性能。在传递参数和数据时,要进行数据校验和过滤,确保数据的准确性和完整性。同时,要注意调用接口的频率和并发性,避免对系统性能造成负担。 总之,泛微OAWebService接口提供了一种方便、灵活的方式与泛微OA系统进行集成和数据交互。开发者可以根据自己的需求,通过调用接口实现各种功能和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值