{"id":113,"date":"2014-06-18T23:55:31","date_gmt":"2014-06-18T21:55:31","guid":{"rendered":"http:\/\/www.valeriofinazzo.it\/wordpress\/?p=113"},"modified":"2014-06-19T00:22:03","modified_gmt":"2014-06-18T22:22:03","slug":"spring-ws-tutorial-7-gestire-le-eccezioni","status":"publish","type":"post","link":"http:\/\/www.valeriofinazzo.it\/wordpress\/2014\/06\/spring-ws-tutorial-7-gestire-le-eccezioni\/","title":{"rendered":"SPRING WS &#8211; TUTORIAL 7 &#8211; GESTIRE LE ECCEZIONI"},"content":{"rendered":"<p style=\"color: #0d293f;\">In questo articolo vedremo la gestione delle eccezioni e i meccanismi che Spring-ws offre per la loro gestione.<\/p>\n<p style=\"color: #0d293f;\">Spring mette a disposizione un gestore delle eccezioni che carica la mappa delle eccezioni e crea opportunamente i fault in corrispondenza di ogni eccezioni.<\/p>\n<pre class=\"lang:default decode:true crayon-selected\">&lt;bean id=\"exceptionResolver\" \r\nclass=\"org.springframework.ws.soap.server.endpoint.SoapFaultMappingExceptionResolver\"&gt;    \r\n&lt;property name=\"defaultFault\" value=\"SERVER\"\/&gt;\r\n&lt;property name=\"exceptionMappings\"&gt;\r\n&lt;value&gt;it.finazzo.libreria.exception.LibroException=SERVER,Invalid request&lt;\/value&gt;\r\n&lt;\/property&gt;\r\n&lt;\/bean&gt;<\/pre>\n<p>Nel nostro esempio stiamo dicendo al gestore delle eccezioni che in corrispondenza di una eccezione LibroException deve essere creato un fault con i parametri indicati, come quello mostrato sotto.<\/p>\n<pre class=\"lang:default decode:true\">&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\"&gt;\r\n\u00a0\u00a0 &lt;SOAP-ENV:Header\/&gt;\r\n\u00a0\u00a0 &lt;SOAP-ENV:Body&gt;\r\n\u00a0\u00a0 \u00a0 \u00a0&lt;SOAP-ENV:Fault&gt;\r\n\u00a0\u00a0 \u00a0 \u00a0 \u00a0 &lt;faultcode&gt;SOAP-ENV:Server&lt;\/faultcode&gt;\r\n\u00a0\u00a0 \u00a0 \u00a0 \u00a0 &lt;faultstring xml:lang=\"en\"&gt;Invalid request&lt;\/faultstring&gt;\r\n\u00a0\u00a0 \u00a0 \u00a0&lt;\/SOAP-ENV:Fault&gt;\r\n\u00a0\u00a0 &lt;\/SOAP-ENV:Body&gt;\r\n&lt;\/SOAP-ENV:Envelope&gt;<\/pre>\n<p>Per chi usale annotazioni e non vuole file xml con lunghe configurazione Spring mette a disposizione la annotazione\u00a0@SoapFault. Una volta definita una eccezione \u00e8 possibile definire il fault da lanciare e i parametri con cui configurarla<\/p>\n<p>Possiamo ottenere un fault analogo a quello descritto sopra definendo cos\u00ec la nostra eccezione<\/p>\n<pre><span style=\"color: #0d293f;\">@SoapFault(faultCode = FaultCode.SERVER, faultStringOrReason=\"<span style=\"color: #000000;\">Invalid request<\/span>\")\r\n<\/span>public class LibroException extends Exception<\/pre>\n<p style=\"color: #0d293f;\">e aggiungendo tra i bean di Spring l&#8217;opportuna implementazione<\/p>\n<pre class=\"lang:default decode:true\">&lt;bean id=\"exceptionAnnotationResolver\" \r\nclass=\"org.springframework.ws.soap.server.endpoint.SoapFaultAnnotationExceptionResolver\" \/&gt;\r\n\r\n<\/pre>\n<p>Per chi ha creato il progetto tramite Maven ricordarsi di aggiungere la dipendenza dalle librerie di spring-ws che supportano le feature della jdk 1.5.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo vedremo la gestione delle eccezioni e i meccanismi che Spring-ws offre per la loro gestione. Spring mette a disposizione un gestore delle eccezioni che carica la mappa delle eccezioni e crea opportunamente i fault in corrispondenza di ogni eccezioni. &lt;bean id=&#8221;exceptionResolver&#8221; class=&#8221;org.springframework.ws.soap.server.endpoint.SoapFaultMappingExceptionResolver&#8221;&gt; &lt;property name=&#8221;defaultFault&#8221; value=&#8221;SERVER&#8221;\/&gt; &lt;property name=&#8221;exceptionMappings&#8221;&gt; &lt;value&gt;it.finazzo.libreria.exception.LibroException=SERVER,Invalid request&lt;\/value&gt; &lt;\/property&gt; &lt;\/bean&gt; Nel &hellip; <a href=\"http:\/\/www.valeriofinazzo.it\/wordpress\/2014\/06\/spring-ws-tutorial-7-gestire-le-eccezioni\/\" class=\"more-link\">Continua la lettura di <span class=\"screen-reader-text\">SPRING WS &#8211; TUTORIAL 7 &#8211; GESTIRE LE ECCEZIONI<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20],"tags":[21,22],"_links":{"self":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/113"}],"collection":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":5,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":132,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/113\/revisions\/132"}],"wp:attachment":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}