Author: deepal
Date: Thu May 24 21:32:17 2007
New Revision: 541537

URL: http://svn.apache.org/viewvc?view=rev&rev=541537
Log:
when there is a fault coming to system when Security is engaged , Client API 
does not throw the exception. It returns SOAP fault as the response.

Modified:
    
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
    
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java
    
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/http/HTTPSender.java

Modified: 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java?view=diff&rev=541537&r1=541536&r2=541537
==============================================================================
--- 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
 (original)
+++ 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
 Thu May 24 21:32:17 2007
@@ -364,9 +364,7 @@
         }
         SOAPEnvelope resenvelope = responseMessageContext.getEnvelope();
         if (resenvelope != null) {
-            if (resenvelope.getBody().hasFault()) {
-                SOAPFault soapFault = resenvelope.getBody().getFault();
-                //we need to call engine.receiveFault
+            if 
(resenvelope.getBody().hasFault()||responseMessageContext.isProcessingFault()) {
                 engine = new AxisEngine(msgctx.getConfigurationContext());
                 engine.receiveFault(responseMessageContext);
                 if (options.isExceptionToBeThrownOnSOAPFault()) {
@@ -377,6 +375,13 @@
             } else {
                 engine = new AxisEngine(msgctx.getConfigurationContext());
                 engine.receive(responseMessageContext);
+                if(responseMessageContext.getEnvelope().getBody().hasFault()){
+                    if (options.isExceptionToBeThrownOnSOAPFault()) {
+                        // does the SOAPFault has a detail element for 
Excpetion
+                        AxisFault af = 
Utils.getInboundFaultFromMessageContext(responseMessageContext);
+                        throw af;
+                    }
+                }
                 if (responseMessageContext.getReplyTo() != null) {
                     sc.setTargetEPR(responseMessageContext.getReplyTo());
                 }

Modified: 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java?view=diff&rev=541537&r1=541536&r2=541537
==============================================================================
--- 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java
 (original)
+++ 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/description/RobustOutOnlyAxisOperation.java
 Thu May 24 21:32:17 2007
@@ -102,7 +102,7 @@
                 responseMessageContext.setEnvelope(envelope);
             }
             if (envelope != null) {
-                if (envelope.getBody().hasFault()) {
+                if (envelope.getBody().hasFault()|| 
responseMessageContext.isProcessingFault()) {
                     //receiving a fault
                     engine.receiveFault(responseMessageContext);
                     AxisFault af = 
Utils.getInboundFaultFromMessageContext(responseMessageContext);

Modified: 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/http/HTTPSender.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/http/HTTPSender.java?view=diff&rev=541537&r1=541536&r2=541537
==============================================================================
--- 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/http/HTTPSender.java
 (original)
+++ 
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/http/HTTPSender.java
 Thu May 24 21:32:17 2007
@@ -21,7 +21,9 @@
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
+import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.transport.MessageFormatter;
 import org.apache.axis2.transport.TransportUtils;
@@ -311,7 +313,14 @@
             if (contenttypeHeader != null) {
                 value = contenttypeHeader.getValue();
             }
-
+            OperationContext opContext = msgContext.getOperationContext();
+            if(opContext!=null){
+                MessageContext inMessageContext =
+                        
opContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+                if(inMessageContext!=null){
+                    inMessageContext.setProcessingFault(true);
+                }
+            }
             if (value != null) {
 
                 processResponse(method, msgContext);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to