You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ga...@apache.org on 2007/06/27 06:36:43 UTC

svn commit: r551037 - in /webservices/axis2/trunk/java/modules/saaj: src/org/apache/axis2/saaj/SOAPBodyImpl.java test/org/apache/axis2/saaj/SOAPFaultTest.java

Author: gawor
Date: Tue Jun 26 21:36:42 2007
New Revision: 551037

URL: http://svn.apache.org/viewvc?view=rev&rev=551037
Log:
when addFault() is called, the fault's mandatory fields should be filled in (as per spec) (AXIS2-2859)

Modified:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
    webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPFaultTest.java

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java?view=diff&rev=551037&r1=551036&r2=551037
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java Tue Jun 26 21:36:42 2007
@@ -21,6 +21,8 @@
 import org.apache.axiom.om.impl.dom.ElementImpl;
 import org.apache.axiom.om.impl.dom.NamespaceImpl;
 import org.apache.axiom.om.impl.dom.NodeImpl;
+import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
 import org.apache.axiom.soap.impl.dom.soap11.SOAP11FaultImpl;
@@ -176,10 +178,18 @@
             SOAP11FaultImpl fault =
                     new SOAP11FaultImpl(omSOAPBody, (SOAPFactory)this.element.getOMFactory());
             saajSOAPFault = new SOAPFaultImpl(fault);
+            //set a default fault code here.
+            saajSOAPFault.setFaultCode(SOAP11Constants.QNAME_SENDER_FAULTCODE);
+            //set a default fault string here
+            saajSOAPFault.setFaultString("Fault string, and possibly fault code, not set");
         } else if (this.element.getOMFactory() instanceof SOAP12Factory) {
             SOAP12FaultImpl fault =
                     new SOAP12FaultImpl(omSOAPBody, (SOAPFactory)this.element.getOMFactory());
             saajSOAPFault = new SOAPFaultImpl(fault);
+            //set a default fault code here.
+            saajSOAPFault.setFaultCode(SOAP12Constants.QNAME_SENDER_FAULTCODE);
+            //set a default fault string here
+            saajSOAPFault.addFaultReasonText("Fault string, and possibly fault code, not set", Locale.getDefault());
         }
         ((NodeImpl)omSOAPBody.getFault()).setUserData(SAAJ_NODE, saajSOAPFault, null);
         return saajSOAPFault;

Modified: webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPFaultTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPFaultTest.java?view=diff&rev=551037&r1=551036&r2=551037
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPFaultTest.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/test/org/apache/axis2/saaj/SOAPFaultTest.java Tue Jun 26 21:36:42 2007
@@ -442,10 +442,9 @@
 
             SOAPEnvelope envelope = soapPart.getEnvelope();
             SOAPBody body = envelope.getBody();
-            SOAPFault sf = body.addFault();
+            SOAPFault sf = body.addFault(SOAPConstants.SOAP_RECEIVER_FAULT, "Its my fault", Locale.ENGLISH);
             String expected = "Its my fault again";
             boolean found = false;
-            sf.addFaultReasonText("Its my fault", Locale.ENGLISH);
             sf.addFaultReasonText(expected, Locale.ENGLISH);
             Iterator i = sf.getFaultReasonTexts();
             int j = 0;
@@ -482,14 +481,14 @@
         SOAPPart soapPart = soapMessage.getSOAPPart();
         SOAPEnvelope envelope = soapPart.getEnvelope();
         SOAPBody body = envelope.getBody();
-        SOAPFault sf = body.addFault();
-
 
         String expected1 = "Its my fault";
         String expected2 = "Its my fault again";
+
+        SOAPFault sf = body.addFault(SOAPConstants.SOAP_RECEIVER_FAULT, expected1, Locale.UK);
+
         boolean found1 = false;
         boolean found2 = false;
-        sf.addFaultReasonText(expected1, Locale.UK);
         sf.addFaultReasonText(expected2, Locale.ENGLISH);
         Iterator i = sf.getFaultReasonTexts();
         int j = 0;
@@ -646,7 +645,6 @@
             SOAPPart soapPart = soapMessage.getSOAPPart();
             SOAPEnvelope envelope = soapPart.getEnvelope();
             SOAPBody body = envelope.getBody();
-            SOAPFault sf = body.addFault();
 
             Locale expected1 = Locale.ENGLISH;
             Locale expected2 = Locale.UK;
@@ -655,8 +653,9 @@
             boolean found2 = false;
             boolean found3 = false;
 
+            SOAPFault sf = body.addFault(SOAPConstants.SOAP_RECEIVER_FAULT, "Its my fault1", expected1);
+
             System.out.println("Adding FaultReasonText to SOAPFault");
-            sf.addFaultReasonText("Its my fault1", expected1);
             sf.addFaultReasonText("Its my fault2", expected2);
             sf.addFaultReasonText("Its my fault3", expected3);
             System.out.println("Getting FaultReasonLocales from SOAPFault");
@@ -879,6 +878,34 @@
             assertEquals(name2.getLocalPart(), name.getLocalPart());
             assertEquals(name2.getPrefix(), name.getPrefix());
             assertEquals(name2.getNamespaceURI(), name.getNamespaceURI());
+        } catch (Exception e) {
+            fail(e.getMessage());
+        }
+    }
+
+    public void testFault12Defaults() {
+        try {
+            MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
+            SOAPMessage message = messageFactory.createMessage();
+            SOAPBody body = message.getSOAPBody();
+            SOAPFault fault = body.addFault();
+
+            assertNotNull(fault.getFaultCodeAsQName());
+            assertNotNull(fault.getFaultString());
+        } catch (Exception e) {
+            fail(e.getMessage());
+        }
+    }
+
+    public void testFault11Defaults() {
+        try {
+            MessageFactory messageFactory = MessageFactory.newInstance();
+            SOAPMessage message = messageFactory.createMessage();
+            SOAPBody body = message.getSOAPBody();
+            SOAPFault fault = body.addFault();
+
+            assertNotNull(fault.getFaultCodeAsQName());
+            assertNotNull(fault.getFaultString());
         } catch (Exception e) {
             fail(e.getMessage());
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org