I have tried to Launch the workflow through code and got the below error
Please find below the below code
package com.geeks.demo.core.servlets;
import com.adobe.granite.workflow.WorkflowSession;
import com.adobe.granite.workflow.exec.WorkflowData;
import com.adobe.granite.workflow.model.WorkflowModel;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
import org.apache.sling.servlets.annotations.SlingServletPaths;
import org.apache.sling.servlets.annotations.SlingServletResourceTypes;
import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import java.io.IOException;
@Component(service = Servlet.class)
@SlingServletPaths(
value={"/bin/executeworkflow","/geeksdemo/executeworkflow"}
)
public class ExecuteWorkflow extends SlingSafeMethodsServlet {
private static final Logger LOG = LoggerFactory.getLogger(ExecuteWorkflow.class);
@Override
protected void doGet(final SlingHttpServletRequest req, SlingHttpServletResponse res) throws ServletException, IOException{
String status ="Workflow Executing";
final ResourceResolver resourceResolver = req.getResourceResolver();
String payload=req.getRequestParameter("page").getString();
try {
if (StringUtils.isNotBlank(payload)) {
WorkflowSession workflowSession = resourceResolver.adaptTo(WorkflowSession.class);
WorkflowModel workflowModel = workflowSession.getModel("/var/workflow/models/practice-creation-version-");
WorkflowData workflowData = workflowSession.newWorkflowData("JCR_PATH", payload);
workflowSession.startWorkflow(workflowModel, workflowData);
}
} catch(Exception e){
LOG.info("/n Error in Workflow{}", e.getMessage());
}
}
}
Steps Tried
1. Added /geeksdemo/ in the execution path of Apache Sling servlet/ Script Resolver and Error Handler
2. Added -/content/geeksdemo/um in Apache Sling Authentication Service
Please share your suggestion
Thanks,
Punitha
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
@Punitha77 Could you please check servlet url in servlet resolver and see how its resolving?
http://localhost:4502/system/console/servletresolver
@Punitha77 Open /system/console/configMgr and search for "Apache Sling Servlet/Script Resolver and Error Handler" and add "/geeks/" under execution path and test it.
Also verify if the /bin/executeworkflow path works in servlet resolver
https://www.youtube.com/watch?v=VNXGF6p0zdM&t=393s
@Saravanan_Dharmaraj I have tried to add to /geeksdemo/ and even /geeks/ as you said to "Apache Sling Servlet/Script Resolver and Error Handler"
Trying to access-http://localhost:4504/bin/executeworkflow?page=content/geeksdemo/us/my-practice-page
Error Message
Cannot serve request to /bin/executeworkflow in /libs/sling/servlet/errorhandler/404.jsp
0 TIMER_START{Request Processing} 3 COMMENT timer_end format is {<elapsed microseconds>,<timer name>} <optional message> 16 LOG Method=GET, PathInfo=null 21 TIMER_START{handleSecurity} 2339 TIMER_END{2316,handleSecurity} authenticator org.apache.sling.auth.core.impl.SlingAuthenticator@28ef7bac returns true 2652 TIMER_START{ResourceResolution} 2840 TIMER_END{186,ResourceResolution} URI=/bin/executeworkflow resolves to Resource=NonExistingResource, path=/bin/executeworkflow 2851 LOG Resource Path Info: SlingRequestPathInfo: path='/bin/executeworkflow', selectorString='null', extension='null', suffix='null' 2852 TIMER_START{ServletResolution} 2855 TIMER_START{resolveServlet(/bin/executeworkflow)} 4130 LOG {0}: no servlet found 4143 TIMER_END{1286,resolveServlet(/bin/executeworkflow)} Using servlet org.apache.sling.servlets.get.DefaultGetServlet 4148 TIMER_END{1295,ServletResolution} URI=/bin/executeworkflow handled by Servlet=org.apache.sling.servlets.get.DefaultGetServlet 4159 LOG Applying Requestfilters
Hi,
Did you check if the bundle is activated? And then if the servlet is registered and exported? The code looks ok, so double-check that the code is installed correctly. You could try to remove all the bundle and reinstall it again, to make sure the latest code is being deployed.
Hope this helps
@Punitha77 Did you find the suggestions from users helpful? Please let us know if more information is required. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community.
@diksha_mishra I tried both it didn't work for me. Still trying to figure out the issue
If you go to your bundle, can you check if your servlet is correctly exported?, can you provide a sc?
@Punitha77 Did you find the suggestions from users helpful? Please let us know if more information is required. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community.
Views
Replies
Total Likes