


Sling Servlet A Servlet is a class used to extend the capabilities of servers that host applications accessed by means of a request-response programming model. For such applications, Servlet technology defines HTTP-specific servlet classes. All servlets must implement the Servlet interface, which defines life-cycle methods. A servlet in AEM can be registered as OSGi service: you can extend SlingSafeMethodsServlet for read-only implementation or SlingAllMethodsServlet in order to implement all RESTful operations. Servlet Code import javax.servlet.Servlet; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingAllMethodsServlet; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import com.adobe.aemfd.docmanager.Document; import com.adobe.fd.forms.api.FormsService; @Component(service={Servlet.class}, property={"sling.servlet.methods=post", "sling.servlet.paths=/bin/mergedataWithAcroform"}) public class MyFirstAEMFormsServlet extends SlingAllMethodsServlet { private static final long serialVersionUID = 1L; @Reference FormsService formsService; protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) { String file_path = request.getParameter("save_location"); java.io.InputStream pdf_document_is = null; java.io.InputStream xml_is = null; javax.servlet.http.Part pdf_document_part = null; javax.servlet.http.Part xml_data_part = null; try { pdf_document_part = request.getPart("pdf_file"); xml_data_part = request.getPart("xml_data_file"); pdf_document_is = pdf_document_part.getInputStream(); xml_is = xml_data_part.getInputStream(); Document data_merged_document = formsService.importData(new Document(pdf_document_is), new Document(xml_is)); data_merged_document.copyToFile(new File(file_path)); } catch(Exception e) { response.sendError(400,e.getMessage()); } } }
Please use this thread to ask the related questions.
Views
Replies
Sign in to like this content
Total Likes
Hello,
When I take this tutorial and test on Postman, I get the following error:
Status | 500 |
Message | org.apache.sling.api.resource.PersistenceException: Unable to create node at /bin/mergedataWithAcroform |
Location | /bin/mergedataWithAcroform
|
Parent Location | bin |
Path | /bin/mergedataWithAcroform |
Referer | |
ChangeLog |
Would you have suggestions on this?
I am new to using Postman. I set up the test based on the screenshot in the tutorial. I added the 3 key value pairs in the "Body". I selected Basic Authorization in Authorization. (10 headers)
Thank you,
Andrew
Views
Replies
Sign in to like this content
Total Likes