Embed presentation
Download as ODP, PPTX
























































































![Customer Resource Using Servlet API public class Artist extends HttpServlet { public enum SupportedOutputFormat {XML, JSON}; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String accept = request.getHeader("accept").toLowerCase(); String acceptableTypes[] = accept.split(","); SupportedOutputFormat outputType = null; for (String acceptableType: acceptableTypes) { if (acceptableType.contains("*/*") || acceptableType.contains("application/*") || acceptableType.contains("application/xml")) { outputType=SupportedOutputFormat.XML; break; } else if (acceptableType.contains("application/json")) { outputType=SupportedOutputFormat.JSON; break; } } if (outputType==null) response.sendError(415); String path = request.getPathInfo(); String pathSegments[] = path.split("/"); String artist = pathSegments[1]; if (pathSegments.length < 2 && pathSegments.length > 3) response.sendError(404); else if (pathSegments.length == 3 && pathSegments[2].equals("recordings")) { if (outputType == SupportedOutputFormat.XML) writeRecordingsForArtistAsXml(response, artist); else writeRecordingsForArtistAsJson(response, artist); } else { if (outputType == SupportedOutputFormat.XML) writeArtistAsXml(response, artist); else writeArtistAsJson(response, artist); } } private void writeRecordingsForArtistAsXml(HttpServletResponse response, String artist) { ... } private void writeRecordingsForArtistAsJson(HttpServletResponse response, String artist) { ... } private void writeArtistAsXml(HttpServletResponse response, String artist) { ... } private void writeArtistAsJson(HttpServletResponse response, String artist) { ... } } Don't try to read this, this is just to show the complexity :)](https://image.slidesharecdn.com/jaxwsrestcarol-124277084293-phpapp02/75/Interoperable-Web-Services-with-JAX-WS-89-2048.jpg)








![Carol McDonald [email_address] Metro: JAX-WS, WSIT and REST](https://image.slidesharecdn.com/jaxwsrestcarol-124277084293-phpapp02/75/Interoperable-Web-Services-with-JAX-WS-98-2048.jpg)

This document summarizes Metro, JAX-WS, WSIT and REST web services technologies. It provides an overview of Project Metro and its key components JAX-WS and WSIT. JAX-WS allows developing web services from POJOs using annotations and generates WSDL. It can be used with Java SE, Java EE and various app servers. WSIT enables interoperability with Microsoft .NET by supporting reliable messaging, transactions and security. The document also discusses developing and consuming web services clients using JAX-WS APIs and proxies generated from WSDL.
























































































![Customer Resource Using Servlet API public class Artist extends HttpServlet { public enum SupportedOutputFormat {XML, JSON}; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String accept = request.getHeader("accept").toLowerCase(); String acceptableTypes[] = accept.split(","); SupportedOutputFormat outputType = null; for (String acceptableType: acceptableTypes) { if (acceptableType.contains("*/*") || acceptableType.contains("application/*") || acceptableType.contains("application/xml")) { outputType=SupportedOutputFormat.XML; break; } else if (acceptableType.contains("application/json")) { outputType=SupportedOutputFormat.JSON; break; } } if (outputType==null) response.sendError(415); String path = request.getPathInfo(); String pathSegments[] = path.split("/"); String artist = pathSegments[1]; if (pathSegments.length < 2 && pathSegments.length > 3) response.sendError(404); else if (pathSegments.length == 3 && pathSegments[2].equals("recordings")) { if (outputType == SupportedOutputFormat.XML) writeRecordingsForArtistAsXml(response, artist); else writeRecordingsForArtistAsJson(response, artist); } else { if (outputType == SupportedOutputFormat.XML) writeArtistAsXml(response, artist); else writeArtistAsJson(response, artist); } } private void writeRecordingsForArtistAsXml(HttpServletResponse response, String artist) { ... } private void writeRecordingsForArtistAsJson(HttpServletResponse response, String artist) { ... } private void writeArtistAsXml(HttpServletResponse response, String artist) { ... } private void writeArtistAsJson(HttpServletResponse response, String artist) { ... } } Don't try to read this, this is just to show the complexity :)](https://image.slidesharecdn.com/jaxwsrestcarol-124277084293-phpapp02/75/Interoperable-Web-Services-with-JAX-WS-89-2048.jpg)








![Carol McDonald [email_address] Metro: JAX-WS, WSIT and REST](https://image.slidesharecdn.com/jaxwsrestcarol-124277084293-phpapp02/75/Interoperable-Web-Services-with-JAX-WS-98-2048.jpg)