泛微OA 调用webservice接口


package aaaaaaaaaa;

import java.rmi.RemoteException;

import cn.com.weaver.services.webservices.WorkflowServicePortTypeProxy;
import sun.net.www.content.text.plain;
import weaver.workflow.webservices.WorkflowBaseInfo;
import weaver.workflow.webservices.WorkflowDetailTableInfo;
import weaver.workflow.webservices.WorkflowMainTableInfo;
import weaver.workflow.webservices.WorkflowRequestInfo;
import weaver.workflow.webservices.WorkflowRequestTableField;
import weaver.workflow.webservices.WorkflowRequestTableRecord;

public class Demo {

    public static void main(String[] args) throws Exception {
        
        WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();//工作流程请求信息
        workflowRequestInfo.setCanView(true);//显示
        workflowRequestInfo.setCanEdit(true);//可编辑
        workflowRequestInfo.setRequestName("流程请求标题");//请求标题
        workflowRequestInfo.setRequestLevel("0");//请求重要级别
        workflowRequestInfo.setCreatorId("10");
        
        WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();//工作流信息
        workflowBaseInfo.setWorkflowId("3");//流程ID
        workflowBaseInfo.setWorkflowName("webservice-test");//流程名称
        workflowBaseInfo.setWorkflowTypeName("webservice-test");//流程类型名称
        workflowRequestInfo.setWorkflowBaseInfo(workflowBaseInfo);//工作流信息
        
        /****************main table start*************/
        WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();//主表
        WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];//主表字段只有一条记录
        WorkflowRequestTableField[] WorkflowRequestTableField = new WorkflowRequestTableField[6];//主的4个字段
        
        
        WorkflowRequestTableField[0] = new WorkflowRequestTableField(); 
        WorkflowRequestTableField[0].setFieldName("jgck");//姓名
        WorkflowRequestTableField[0].setFieldValue("115");//被留言人字段的值,111为被留言人id
        WorkflowRequestTableField[0].setView(true);//字段是否可见
        WorkflowRequestTableField[0].setEdit(true);//字段是否可编辑
        
        workflowRequestTableRecord[0] = new WorkflowRequestTableRecord();
        workflowRequestTableRecord[0].setWorkflowRequestTableFields(WorkflowRequestTableField);
        workflowMainTableInfo.setRequestRecords(workflowRequestTableRecord);
        workflowRequestInfo.setWorkflowMainTableInfo(workflowMainTableInfo);
        /****************main table end*************/
        
        

        /**********第一张明细表开始**********/
        workflowRequestTableRecord = new WorkflowRequestTableRecord[1]; // 明细表中只有一条数据
        WorkflowRequestTableField = new WorkflowRequestTableField[1];   // 明细表的字段数  只有一个字段
        
        //创建一个字段
        WorkflowRequestTableField[0] = new WorkflowRequestTableField(); 
        WorkflowRequestTableField[0].setFieldName("xsblxs");
        WorkflowRequestTableField[0].setFieldValue("10.00");
        WorkflowRequestTableField[0].setView(true);
        WorkflowRequestTableField[0].setEdit(true);    
        
        workflowRequestTableRecord[0] = new WorkflowRequestTableRecord();  
        workflowRequestTableRecord[0].setWorkflowRequestTableFields(WorkflowRequestTableField);  //将第一个字段压进明细行的第一条记录中去
        
        
        WorkflowDetailTableInfo[] workflowDetailTableInfo = new WorkflowDetailTableInfo[1];//实例化一个明细表
        workflowDetailTableInfo[0] =new WorkflowDetailTableInfo();  //创建一张明细表
        workflowDetailTableInfo[0].setWorkflowRequestTableRecords(workflowRequestTableRecord);


        //将明细表的数据放进requestInfo对象当中
        workflowRequestInfo.setWorkflowDetailTableInfos(workflowDetailTableInfo);
        
        WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy();        
        String requestid = WorkflowServicePortTypeProxy.doCreateWorkflowRequest(workflowRequestInfo, 10);  

        System.out.println("requestid:" + requestid);
        
        

    }

}