You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ga...@apache.org on 2008/04/23 10:12:43 UTC
svn commit: r650780 -
/webservices/sandesha/branches/sandesha2/java/1_4/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
Author: gatfora
Date: Wed Apr 23 01:12:42 2008
New Revision: 650780
URL: http://svn.apache.org/viewvc?rev=650780&view=rev
Log:
Apply patch from SANDESHA2-149
Modified:
webservices/sandesha/branches/sandesha2/java/1_4/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
Modified: webservices/sandesha/branches/sandesha2/java/1_4/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_4/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java?rev=650780&r1=650779&r2=650780&view=diff
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_4/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/branches/sandesha2/java/1_4/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java Wed Apr 23 01:12:42 2008
@@ -761,7 +761,7 @@
transaction = storageManager.getTransaction();
// constructing the fault
- AxisFault axisFault = getAxisFaultFromFromSOAPFault(faultPart);
+ AxisFault axisFault = getAxisFaultFromFromSOAPFault(faultPart, rmMsgCtx);
response = manageIncomingFault (axisFault, rmMsgCtx, faultPart);
if(transaction != null && transaction.isActive()) transaction.commit();
@@ -775,10 +775,28 @@
}
- private static AxisFault getAxisFaultFromFromSOAPFault(SOAPFault faultPart) {
- AxisFault axisFault = new AxisFault(faultPart.getCode(), faultPart.getReason(), faultPart.getNode(), faultPart
- .getRole(), faultPart.getDetail());
+ private static AxisFault getAxisFaultFromFromSOAPFault(SOAPFault faultPart, RMMsgContext rmMsgCtx) {
+
+ String soapFaultSubcode = null;
+ SequenceFault sequenceFault = rmMsgCtx.getSequenceFault();
+ AxisFault axisFault = null;
+ // If the sequence fault part is not null, then we have an RM specific fault.
+ if (sequenceFault != null) {
+ soapFaultSubcode = sequenceFault.getFaultCode().getFaultCode().getLocalPart();
+
+ //Need to concatenate all info about the error into string
+ StringBuffer faultSB = new StringBuffer();
+ faultSB.append(soapFaultSubcode + " ");
+ faultSB.append(sequenceFault.getFaultCode().getDetail() + " ");
+ faultSB.append(faultPart.getDetail().getText());
+
+ axisFault = new AxisFault(faultSB.toString(), sequenceFault.getFaultCode().getFaultCode());
+ } else {
+ axisFault = new AxisFault(faultPart.getCode(), faultPart.getReason(), faultPart.getNode(), faultPart
+ .getRole(), faultPart.getDetail());
+ }
+
return axisFault;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org