[jboss-svn-commits] JBL Code SVN: r20838 - labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jun 30 06:25:00 EDT 2008


Author: jim.ma
Date: 2008-06-30 06:25:00 -0400 (Mon, 30 Jun 2008)
New Revision: 20838

Modified:
   labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
   labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template
Log:
Expose the internal ServiceInovker exception as soap fault message

Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java	2008-06-30 02:40:04 UTC (rev 20837)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java	2008-06-30 10:25:00 UTC (rev 20838)
@@ -128,10 +128,12 @@
 		if (epInfo.isOneWay()) {
 			template.setAttribute("InvokeMethod", "serviceInvoker.deliverAsync(msg)");
 		    template.setAttribute("Result", "javax.xml.soap.MessageFactory.newInstance().createMessage()");
+		    template.setAttribute("ReturnFaultMsg", "e.printStackTrace();");
 		} else {
 			template.setAttribute("InvokeMethod", "msg = serviceInvoker.deliverSync(msg, (long)30000)");
 		    //TODO: when the ESB actions mep is request-response
 			template.setAttribute("Result", "request");
+			template.setAttribute("ReturnFaultMsg", "return faultMsg;");
 		}
 		
 		return template.toString();

Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template	2008-06-30 02:40:04 UTC (rev 20837)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template	2008-06-30 10:25:00 UTC (rev 20838)
@@ -6,8 +6,15 @@
 		 msg.getBody().add(byteStream.toString());
 		 byteStream.close();
 		 $InvokeMethod$;
-     } catch (Exception e) { 
-          e.printStackTrace();
+     } catch (Exception e) {
+          javax.xml.soap.SOAPMessage faultMsg = javax.xml.soap.MessageFactory.newInstance().createMessage(); 
+          if (e instanceof org.jboss.soa.esb.couriers.FaultMessageException) {
+              //cast to user defined soap fault message
+          } else {
+            javax.xml.namespace.QName qn = new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/envelope/", "Server");
+            faultMsg.getSOAPBody().addFault(qn, e.getMessage());
+          }
+          $ReturnFaultMsg$
      } 
 		return $Result$;
 }




More information about the jboss-svn-commits mailing list