有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Liferay portlet中使用Bonite引擎api?

我安装了BonitaBPMCommunity-7.2.3和liferay-portal-6.2-ce-ga6

  • 博尼塔-http://localhost:28604/bonita
  • Liferay-http://localhost:8080

我想在Liferay portlet中使用Bonita引擎Api。我已经在目录"C:\_portal\liferay-portal-6.2-ce-ga6\bonita"中配置了bonita home

我的java代码:

System.setProperty(BONITA_HOME_KEY, BONITAHOME);
System.out.println("Start");
final LoginAPI loginAPI = TenantAPIAccessor.getLoginAPI();
System.out.println("login with install//install");
final APISession session = loginAPI.login("walter.bates", "bpm");
final IdentityAPI identityAPI = TenantAPIAccessor.getIdentityAPI(session);
final SearchResult<User> searchUsers = identityAPI.searchUsers(new SearchOptionsBuilder(0, 20).done());
System.out.println("20 first users:");
for (final User user : searchUsers.getResult()) {
  System.out.println(" * " + user.getUserName() + " -- " + user.getId());
  }
loginAPI.logout(session);
System.out.println("logged out");  
System.out.println("Hello");

我有一个错误:

05:46:45,227 ERROR [ExceptionHandlerAjaxImpl:69] /views/view.xhtml @14,64 actionListener="#{buttonView.buttonAction}": java.lang.NoSuchMethodError: org.apache.http.entity.StringEntity.(Ljava/lang/String;Lorg/apache/http/entity/ContentType;)V javax.faces.event.AbortProcessingException: /views/view.xhtml @14,64 actionListener="#{buttonView.buttonAction}": java.lang.NoSuchMethodError: org.apache.http.entity.StringEntity.(Ljava/lang/String;Lorg/apache/http/entity/ContentType;)V at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:775) at javax.faces.component.UICommand.broadcast(UICommand.java:300) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at com.liferay.faces.bridge.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:103) at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:128) at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:178) at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:122) at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:82) at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:116) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71) at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:580) at com.liferay.portlet.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:675) at com.liferay.portlet.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:441) at com.liferay.portlet.PortletContainerImpl._doServeResource(PortletContainerImpl.java:775) at com.liferay.portlet.PortletContainerImpl.serveResource(PortletContainerImpl.java:149) at com.liferay.portlet.SecurityPortletContainerWrapper.serveResource(SecurityPortletContainerWrapper.java:166) at com.liferay.portlet.RestrictPortletContainerWrapper.serveResource(RestrictPortletContainerWrapper.java:166) at com.liferay.portal.kernel.portlet.PortletContainerUtil.serveResource(PortletContainerUtil.java:164) at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:394) at com.liferay.portal.action.LayoutAction.doExecute(LayoutAction.java:200) at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:95) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:168) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:557) at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:534) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) at com.liferay.portal.servlet.filters.uploadservletrequest.UploadServletRequestFilter.processFilter(UploadServletRequestFilter.java:93) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)`


共 (1) 个答案

  1. # 1 楼答案

    1. 我从bonita服务器的URL和用于登录的用户中收集到,您正试图连接到studio中的嵌入式服务器进行测试。请注意,您为测试bonita和liferay而进行的唯一可靠测试是一台独立的bonita服务器(您可以在liferay服务器中安装bonita,但由于两者都可能占用大量内存,我不建议这样做)
    2. 唯一需要设置bonita Home的时间是在您最喜欢的IDE服务器配置或直接在服务器配置中的setenv变量中
    3. 除了登录部分,你的代码还可以。缺少tenantApiAcessor参数的配置(下面的示例代码)

      映射设置=新建HashMap(); 设置。put(“server.url”,“http://localhost:8080”); 设置。put(“application.name”、“bonita”); 我是打字机管理员。SetApitype和Params(ApiAccessType.HTTP,设置); //使用租户访问器获取LoginAPI LoginAPI LoginAPI=租户访问器。getLoginAPI(); //此处的异常处理