dims 2002/06/29 13:44:54
Modified: java/src/org/apache/axis/message SOAPFault.java
SOAPHeader.java
java/test/saaj TestEnvelope.java
Log:
- Fixes for Faults and Header for SAAJ compliance.
- Test cases for both.
Revision Changes Path
1.4 +1 -1 xml-axis/java/src/org/apache/axis/message/SOAPFault.java
Index: SOAPFault.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPFault.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SOAPFault.java 23 Jun 2002 14:25:51 -0000 1.3
+++ SOAPFault.java 29 Jun 2002 20:44:53 -0000 1.4
@@ -169,7 +169,7 @@
* @return a <CODE>String</CODE> with the fault code
*/
public String getFaultCode() {
- return fault.getFaultCode().toString();
+ return fault.getFaultCode().getLocalPart();
}
/**
1.45 +11 -7 xml-axis/java/src/org/apache/axis/message/SOAPHeader.java
Index: SOAPHeader.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHeader.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- SOAPHeader.java 29 Jun 2002 18:05:19 -0000 1.44
+++ SOAPHeader.java 29 Jun 2002 20:44:53 -0000 1.45
@@ -131,8 +131,8 @@
addHeader(headerElement);
return headerElement;
}
-
- public Iterator examineHeaderElements(String actor) {
+
+ private Vector findHeaderElements(String actor) {
Vector results = new Vector();
Iterator i = headers.iterator();
@@ -146,19 +146,23 @@
results.add(header);
}
}
+ return results;
+ }
- return results.iterator();
+ public Iterator examineHeaderElements(String actor) {
+ return findHeaderElements(actor).iterator();
}
public Iterator extractHeaderElements(String actor) {
- Iterator elts = examineHeaderElements(actor);
+ Vector results = findHeaderElements(actor);
+ Iterator iterator = results.iterator();
// Detach the header elements from the header
- while (elts.hasNext()) {
- ((SOAPHeaderElement)elts.next()).detachNode();
+ while (iterator.hasNext()) {
+ ((SOAPHeaderElement)iterator.next()).detachNode();
}
- return elts;
+ return results.iterator();
}
Vector getHeaders() {
1.2 +39 -1 xml-axis/java/test/saaj/TestEnvelope.java
Index: TestEnvelope.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/saaj/TestEnvelope.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestEnvelope.java 29 Jun 2002 19:19:16 -0000 1.1
+++ TestEnvelope.java 29 Jun 2002 20:44:53 -0000 1.2
@@ -6,6 +6,9 @@
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPFault;
+import javax.xml.soap.SOAPHeader;
+import javax.xml.soap.SOAPHeaderElement;
import javax.xml.soap.SOAPMessage;
public class TestEnvelope extends junit.framework.TestCase {
@@ -14,13 +17,18 @@
super(name);
}
- public void testAttributes() throws Exception {
+ private SOAPEnvelope getSOAPEnvelope() throws Exception {
SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
SOAPConnection con = scFactory.createConnection();
MessageFactory factory = MessageFactory.newInstance();
SOAPMessage message = factory.createMessage();
SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
+ return envelope;
+ }
+
+ public void testAttributes() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
SOAPBody body = envelope.getBody();
Name name1 = envelope.createName("MyAttr1");
@@ -50,6 +58,34 @@
assertTrue(foundName1 && foundName2 && foundName3);
}
+ public void testFaults() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+ SOAPFault sf = body.addFault();
+ sf.setFaultCode("myFault");
+ String fc = sf.getFaultCode();
+ assertTrue(fc.equals("myFault"));
+ }
+
+ public void testHeaderElements() throws Exception {
+ SOAPEnvelope envelope = getSOAPEnvelope();
+ SOAPBody body = envelope.getBody();
+ SOAPHeader hdr = envelope.getHeader();
+
+ SOAPHeaderElement she1 = hdr.addHeaderElement(envelope.createName("foo1",
"f1", "foo1-URI"));
+ she1.setActor("actor-URI");
+ java.util.Iterator iterator = hdr.extractHeaderElements("actor-URI");
+ int cnt = 0;
+ while (iterator.hasNext()) {
+ cnt++;
+ SOAPHeaderElement she = (SOAPHeaderElement) iterator.next();
+ assertTrue(she.equals(she1));
+ }
+ assertTrue(cnt == 1);
+ iterator = hdr.extractHeaderElements("actor-URI");
+ assertTrue(!iterator.hasNext());
+ }
+
private int getIteratorCount(java.util.Iterator i) {
int count = 0;
while (i.hasNext()) {
@@ -61,6 +97,8 @@
public static void main(String[] args) throws Exception {
test.saaj.TestEnvelope tester = new test.saaj.TestEnvelope("TestEnvelope");
+ tester.testHeaderElements();
+ tester.testFaults();
tester.testAttributes();
}
}