package com.vci.server.workflow.server.event;
|
|
import org.apache.axis.client.Call;
|
import org.apache.axis.client.Service;
|
|
import com.vci.server.workflow.common.resouce.WorkflowProperties;
|
|
public class PromteTask {
|
public void promote(String ploid,String tableName,String[] dataStatus,String status, String partList) {
|
try {
|
// ,String[] params,String[] values,String templateName
|
// String endpoint = "http://192.168.0.42:8080/axis/services/RMIPWorkFlow?wsdl";
|
String ip = WorkflowProperties.getStringProperty("wsdl.ip");
|
String endpoint = ip;
|
System.out.println("endpoint is: " + endpoint);
|
// 直接引用远程的wsdl文件 //以下都是套路
|
Service service = new Service();
|
Call call = (Call) service.createCall();
|
call.setTargetEndpointAddress(endpoint);
|
call.setOperationName("taskStart");// WSDL里面描述的接口名称
|
call.addParameter("taskId",
|
org.apache.axis.encoding.XMLType.XSD_DATE,
|
javax.xml.rpc.ParameterMode.IN);
|
call.addParameter("taskParam",
|
org.apache.axis.encoding.XMLType.XSD_DATE,
|
javax.xml.rpc.ParameterMode.IN);
|
call.addParameter("bWait",
|
org.apache.axis.encoding.XMLType.XSD_DATE,
|
javax.xml.rpc.ParameterMode.IN);
|
// call.addParameter("partList",
|
// org.apache.axis.encoding.XMLType.XSD_DATE,
|
// javax.xml.rpc.ParameterMode.IN);
|
// 接口的参数
|
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_BOOLEAN);// 设置返回类型
|
|
String dataid = "";
|
String ver = "";
|
for(int i=0;i<dataStatus.length;i=i+3){
|
if(dataStatus[i].startsWith("root")){
|
dataid += dataStatus[i].substring(4,dataStatus[i].length())+";";
|
}else{
|
dataid = dataStatus[i]+";";
|
}
|
ver += dataStatus[i+1]+";";
|
}
|
|
Object[] objects = new Object[] { "",
|
"-vid "+dataid+" -ver "+ver+" -status " + status + " -partList " + partList ,false};
|
boolean result =(Boolean) call.invoke(objects);
|
// 给方法传递参数,并且调用方法
|
System.out.println("result is " + result);
|
} catch (Exception e) {
|
System.err.println(e.toString());
|
}
|
}
|
}
|