提交 a33b6bd5 编写于 作者: M meyerd

ACT-1161 Removing experimental Webservices

上级 3692381e
package org.activiti.engine.impl.webservice.experimental;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.ExecutionQuery;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.runtime.ProcessInstanceQuery;
import org.activiti.engine.task.IdentityLink;
import org.activiti.engine.task.Task;
import org.activiti.engine.task.TaskQuery;
/**
* Delegation class to provide the Service as WebService. The Maps are currently a problem, since
* JAX-B cannot handle java.util.Map as parameter.
* @author ruecker
*/
@WebService
public class RuntimeWebServiceImpl {
private final ProcessEngine processEngine;
public RuntimeWebServiceImpl(ProcessEngine processEngine) {
this.processEngine = processEngine;
}
@WebMethod
public void setVariable(String executionId, String variableName, Object value) {
processEngine.getRuntimeService().setVariable(executionId, variableName, value);
}
@WebMethod
public void setVariables(String executionId, HashMap<String, ? extends Object> variables) {
}
@WebMethod
public HashMap<String, Object> getVariables(String executionId) {
return (HashMap<String, Object>) processEngine.getRuntimeService().getVariables(executionId);
}
@WebMethod
public String startProcessInstanceByKey(String processDefinitionKey, HashMap<String, Object> variables) {
return null;
}
////
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceByKey(String processDefinitionKey) {
return null;
}
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey) {
return null;
}
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, Map<String, Object> variables) {
return null;
}
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceById(String processDefinitionId) {
return null;
}
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey) {
return null;
}
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String, Object> variables) {
return null;
}
@WebMethod(exclude=true)
public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, Map<String, Object> variables) {
return null;
}
@WebMethod(exclude=true)
public void deleteProcessInstance(String processInstanceId, String deleteReason) {
}
@WebMethod(exclude=true)
public List<String> getActiveActivityIds(String executionId) {
return null;
}
@WebMethod(exclude=true)
public void signal(String executionId) {
}
@WebMethod(exclude=true)
public Map<String, Object> getVariablesLocal(String executionId) {
return null;
}
@WebMethod(exclude=true)
public Map<String, Object> getVariables(String executionId, Collection<String> variableNames) {
return null;
}
@WebMethod(exclude=true)
public Map<String, Object> getVariablesLocal(String executionId, Collection<String> variableNames) {
return null;
}
@WebMethod(exclude=true)
public Object getVariable(String executionId, String variableName) {
return null;
}
@WebMethod(exclude=true)
public Object getVariableLocal(String executionId, String variableName) {
return null;
}
@WebMethod(exclude=true)
public void setVariableLocal(String executionId, String variableName, Object value) {
}
@WebMethod(exclude=true)
public void setVariablesLocal(String executionId, Map<String, ? extends Object> variables) {
}
@WebMethod(exclude=true)
public ExecutionQuery createExecutionQuery() {
return null;
}
@WebMethod(exclude=true)
public ProcessInstanceQuery createProcessInstanceQuery() {
return null;
}
}
package org.activiti.engine.impl.webservice.experimental;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.xml.ws.Endpoint;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.runtime.ProcessInstance;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.frontend.ServerFactoryBean;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
/**
* Easy Servlet to provide JAX-B WebServices via CXF (see http://cxf.apache.org/docs/servlet-transport.html).
*
* To play with it, add the following Servlet to your activiti-rest web.xml:
*
<servlet>
<servlet-name>WsCxfServlet</servlet-name>
<servlet-class>org.activiti.engine.impl.webservice.experimental.WebServiceProviderServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WsCxfServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
*
* After adding the activiti-cxf.jar to your activiti-rest WEB-INF/lib directory you can access the WebService
* via: http://localhost:8080/activiti-rest/ws/RuntimeService?wsdl
*
* Currently data types are a problem (the Maps, the {@link ProcessInstance} interfaces, ...
*
* So this was really just a first test to get an impression
*
* @author ruecker
*/
public class WebServiceProviderServlet extends CXFNonSpringServlet {
private static final long serialVersionUID = 1L;
@Override
public void loadBus(ServletConfig servletConfig) throws ServletException {
super.loadBus(servletConfig);
// TODO: Hacky first version to get default Process Engine
ProcessEngine processEngine = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResourceDefault()
.buildProcessEngine();
Bus bus = getBus();
BusFactory.setDefaultBus(bus);
Endpoint.publish("/RuntimeService", new RuntimeWebServiceImpl(processEngine));
// You can als use the simple frontend API to do this
ServerFactoryBean factory = new ServerFactoryBean();
factory.setBus(bus);
factory.setServiceClass(RuntimeWebServiceImpl.class);
factory.setAddress("/RuntimeService");
factory.create();
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册