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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]