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