From 941483644d9bc45927d90e10d5f946cb2189fefb Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 19 Jan 2022 22:12:29 +0100 Subject: tdwl: example of remote wsdl --- .../java/it/dmi/tsdwl/country/CountryServlet.java | 75 +++++++++++++++ .../java/it/dmi/tsdwl/country/SearchCapital.java | 104 +++++++++++++++++++++ 2 files changed, 179 insertions(+) create mode 100644 Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/CountryServlet.java create mode 100644 Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/SearchCapital.java (limited to 'Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi') diff --git a/Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/CountryServlet.java b/Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/CountryServlet.java new file mode 100644 index 0000000..f9f4405 --- /dev/null +++ b/Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/CountryServlet.java @@ -0,0 +1,75 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package it.dmi.tsdwl.country; + +import java.io.IOException; +import java.util.List; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.oorsprong.websamples.ArrayOftCountryCodeAndName; +import org.oorsprong.websamples.TCountryCodeAndName; +/** + * + * @author dcariotti + */ +@WebServlet(name = "CountryServlet", urlPatterns = {"/CountryServlet"}) +public class CountryServlet extends HttpServlet { + /** + * Handles the HTTP GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + List countries = this.listOfCountryNamesByName().getTCountryCodeAndName(); + + request.setAttribute("countries", countries); + + RequestDispatcher view = request.getRequestDispatcher("list.jsp"); + + view.forward(request, response); + } + + /** + * Handles the HTTP POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// + + private static ArrayOftCountryCodeAndName listOfCountryNamesByName() { + org.oorsprong.websamples.CountryInfoService service = new org.oorsprong.websamples.CountryInfoService(); + org.oorsprong.websamples.CountryInfoServiceSoapType port = service.getCountryInfoServiceSoap(); + return port.listOfCountryNamesByName(); + } + + +} diff --git a/Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/SearchCapital.java b/Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/SearchCapital.java new file mode 100644 index 0000000..1a7eb27 --- /dev/null +++ b/Year_3/TSDWL/WSDL/CountryClient/src/java/it/dmi/tsdwl/country/SearchCapital.java @@ -0,0 +1,104 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package it.dmi.tsdwl.country; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author dcariotti + */ +@WebServlet(name = "SearchCapital", urlPatterns = {"/SearchCapital"}) +public class SearchCapital extends HttpServlet { + + /** + * Processes requests for both HTTP GET and POST + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println(""); + out.println(""); + out.println(""); + out.println("Servlet SearchCapital"); + out.println(""); + out.println(""); + out.println("

Servlet SearchCapital at " + request.getContextPath() + "

"); + out.println(""); + out.println(""); + } + } + + /** + * Handles the HTTP GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + String isoCode = request.getParameter("iso"); + String capital = this.capitalCity(isoCode); + + if (capital.length() == 0) { + try (PrintWriter out = response.getWriter()) { + out.println("Capital not found"); + } + } else { + try (PrintWriter out = response.getWriter()) { + out.println("Capital is " + capital); + } + } + } + + /** + * Handles the HTTP POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// + + private static String capitalCity(java.lang.String sCountryISOCode) { + org.oorsprong.websamples.CountryInfoService service = new org.oorsprong.websamples.CountryInfoService(); + org.oorsprong.websamples.CountryInfoServiceSoapType port = service.getCountryInfoServiceSoap(); + return port.capitalCity(sCountryISOCode); + } + +} -- cgit v1.2.3-18-g5258