The Sample Servlet
package com.custom; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class CustomStatus */ public class CustomStatus extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public CustomStatus() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/plain"); response.setHeader("FROM", "AJANTH"); if(request.getParameter("statusToReturn").equals("4001")){ response.setStatus(400, "Invalid Request Parameters"); }else if(request.getParameter("statusToReturn").equals("4002")){ response.setStatus(400, "Invalid Request for Bad Gateway"); } response.getWriter().write("Test From BackEND"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
Configuration Need to do at Tomcat
In TOMCAT_HOME/conf/catalina.properties add the below lines:
org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER = true
Now when you send request through SOAP UI, you will see the below, where the header appended with our custom message.
Thank you for the detailed guide on creating a mock service to return custom HTTP status code with descriptions. Your step-by-step instructions and code examples have been invaluable for understanding how to simulate different server responses effectively. This tutorial not only enhances my development skills but also provides a practical approach to testing and handling various scenarios in web applications. Your expertise is greatly appreciated in simplifying this process for developers.
ReplyDelete