我正在尝试对JBPM REST API进行简单调用。通过Postman执行GET请求按预期工作,例如:
http://localhost:8080/jbpm-console/rest/task/query?potentialOwner=krisv&language=en-UK
返回3个任务。
然后我尝试使用JBPM Remote Java API创建一个简单的Java客户端,但服务器返回NotFoundException(客户端抛出NullPointer异常)。代码几乎是从JBPM文档中复制粘贴的:
URL instanceUrl = new URL("http://localhost:8080/jbpm-console/");
String deploymentId = "org.jbpm:Evaluation:1.0";
String processDefId = "evaluation";
String user = "krisv";
String password = "krisv";
// Setup the factory class with the necessarry information to communicate with the REST services
RemoteRuntimeEngineFactory restSessionFactory =
new RemoteRestRuntimeEngineFactory(deploymentId, instanceUrl, user, password);
// Create KieSession instance
RemoteRuntimeEngine engine = restSessionFactory.newRuntimeEngine();
KieSession ksession = engine.getKieSession();
TaskService taskService = engine.getTaskService();
taskService.getTasksAssignedAsPotentialOwner("krisv", "en-UK");
服务器日志:
2015-09-09 09:26:10,516 WARN [org.jboss.resteasy.core.ExceptionHandler] (default task-46) failed to execute: javax.ws.rs.NotFoundException: Could not find resource for full path: http://localhost:8080/jbpm-console/rest/task/execute
这甚至不是应该被调用的REST端点,看起来它是内部执行的并且失败了?我完全不知道出了什么问题。
我正在使用演示评估项目,因此可以轻松重现。
答案 0 :(得分:1)
一如既往,您可以在SO上发布解决方案。
问题是我正在阅读JBPM 6.1.0的文档,但我使用的是JBPM 6.2.0。我在我的pom.xml中包含了kie-service-client 6.1.0,但我应该拥有的是kie-remote-client 6.2.0。然后,按照略有不同的6.2.0示例:https://docs.jboss.org/jbpm/v6.2/userguide/jBPMRemoteAPI.html它开始工作。