[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