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 ru...@apache.org on 2005/08/01 14:21:48 UTC
svn commit: r226778 - in /webservices/axis/trunk/java/modules/xml:
src/org/apache/axis2/om/impl/llom/ test-resources/soap/soap11/
test/org/apache/axis2/soap/ test/org/apache/axis2/soap/impl/llom/
test/org/apache/axis2/soap/impl/llom/builder/
Author: ruchithf
Date: Mon Aug 1 05:21:11 2005
New Revision: 226778
URL: http://svn.apache.org/viewcvs?rev=226778&view=rev
Log:
Fixed the missing spaces problem, fixed the exisiting tests to trim the text values before comparison and added a test case to test UTF-16 encoding
Added:
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java
Modified:
webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java Mon Aug 1 05:21:11 2005
@@ -622,8 +622,8 @@
if (child.getType() == OMNode.TEXT_NODE) {
textNode = (OMText) child;
if (textNode.getText() != null &&
- !"".equals(textNode.getText().trim())) {
- childText += textNode.getText().trim();
+ !"".equals(textNode.getText())) {
+ childText += textNode.getText();
}
}
child = child.getNextSibling();
Modified: webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml (original)
+++ webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml Mon Aug 1 05:21:11 2005
@@ -25,9 +25,7 @@
<soapenv:faultcode>
env:Sender
</soapenv:faultcode>
- <soapenv:faultstring>
- Sender Timeout
- </soapenv:faultstring>
+ <soapenv:faultstring>Sender Timeout</soapenv:faultstring>
<soapenv:faultactor>
http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver
</soapenv:faultactor>
@@ -44,4 +42,5 @@
</soapenv:detail>
</soapenv:Fault>
</soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+</soapenv:Envelope>
+
Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java Mon Aug 1 05:21:11 2005
@@ -72,7 +72,7 @@
public void testSOAP12GetNodeValueWithParser() {
assertTrue(
"SOAP 1.2 Fault Node Test With Parser : - getNodeValue method returns incorrect value",
- soap12FaultNodeWithParser.getNodeValue().equals(
+ soap12FaultNodeWithParser.getNodeValue().trim().equals(
"http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"));
}
}
Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java Mon Aug 1 05:21:11 2005
@@ -40,7 +40,7 @@
soap11FaultRole.setRoleValue("This is only a test");
assertTrue(
"SOAP 1.1 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
- soap11FaultRole.getRoleValue().equals("This is only a test"));
+ soap11FaultRole.getRoleValue().trim().equals("This is only a test"));
}
public void testSOAP11GetRoleValue() {
@@ -50,7 +50,7 @@
soap11FaultRole.setRoleValue("This is only a test");
assertTrue(
"SOAP 1.1 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
- soap11FaultRole.getRoleValue().equals("This is only a test"));
+ soap11FaultRole.getRoleValue().trim().equals("This is only a test"));
}
//SOAP 1.2 Fault Role Test (Programaticaly Created)
@@ -58,24 +58,24 @@
soap12FaultRole.setRoleValue("This is only a test");
assertTrue(
"SOAP 1.2 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
- soap12FaultRole.getRoleValue().equals("This is only a test"));
+ soap12FaultRole.getRoleValue().trim().equals("This is only a test"));
}
public void testSOAP12GetRoleValue() {
assertTrue(
"SOAP 1.2 Fault Role Test : - After creating SOAPFaultRole, it has a value",
- soap12FaultRole.getRoleValue().equals(""));
+ soap12FaultRole.getRoleValue().trim().equals(""));
soap12FaultRole.setRoleValue("This is only a test");
assertTrue(
"SOAP 1.2 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
- soap12FaultRole.getRoleValue().equals("This is only a test"));
+ soap12FaultRole.getRoleValue().trim().equals("This is only a test"));
}
//SOAP 1.1 Fault Role Test (With Parser)
public void testSOAP11GetRoleValueWithParser() {
assertTrue(
"SOAP 1.1 Fault Role Test With Parser : - getRoleValue method returns incorrect value",
- soap11FaultRoleWithParser.getRoleValue().equals(
+ soap11FaultRoleWithParser.getRoleValue().trim().equals(
"http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver"));
}
@@ -83,7 +83,7 @@
public void testSOAP12GetRoleValueWithParser() {
assertTrue(
"SOAP 1.2 Fault Role Test With Parser : - getRoleValue method returns incorrect value",
- soap12FaultRoleWithParser.getRoleValue().equals(
+ soap12FaultRoleWithParser.getRoleValue().trim().equals(
"ultimateReceiver"));
}
}
Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java Mon Aug 1 05:21:11 2005
@@ -144,7 +144,7 @@
public void testSOAP11GetTextWithParser() {
assertTrue(
"SOAP 1.1 Fault Text Test With Parser : - getText method returns incorrect string",
- soap11FaultTextWithParser.getText().equals("Sender Timeout"));
+ soap11FaultTextWithParser.getText().trim().equals("Sender Timeout"));
}
//SOAP 1.2 Fault Text Test (With Parser)
@@ -169,8 +169,10 @@
}
public void testSOAP12GetTextWithParser() {
+
assertTrue(
"SOAP 1.2 Fault Text Test With Parser : - getText method returns incorrect string",
soap12FaultTextWithParser.getText().equals("Sender Timeout"));
+
}
}
Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java Mon Aug 1 05:21:11 2005
@@ -97,7 +97,7 @@
public void testSOAP11GetTextWithParser() {
assertTrue(
"SOAP 1.1 Fault Value Test with parser : - value text mismatch",
- soap11FaultValueWithParser.getText().equals("env:Sender"));
+ soap11FaultValueWithParser.getText().trim().equals("env:Sender"));
}
//SOAP 1.2 Fault Value(In Fault Code) Test (With Parser)
Added: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java?rev=226778&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java (added)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java Mon Aug 1 05:21:11 2005
@@ -0,0 +1,135 @@
+package org.apache.axis2.soap.impl.llom;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.impl.OMOutputImpl;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+import org.apache.axis2.soap.impl.llom.builder.StAXSOAPModelBuilder;
+
+
+/**
+ * Test for serialization and deserialization using UTF-16
+ * character encoding
+ *
+ * @author Ruchith Fernando (ruchith.fernando@gmail.com)
+ */
+public class CharacterEncodingTest extends TestCase {
+
+ public static final String UTF_8 = "utf-8";
+ public static final String UTF_16 = "utf-16";
+
+ public CharacterEncodingTest(String name) {
+ super(name);
+ }
+
+ public void runTest(String value, String expected) throws XMLStreamException, FactoryConfigurationError, IOException {
+
+ SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
+ SOAPEnvelope envelope = factory.getDefaultEnvelope();
+ String ns = "http://testuri.org";
+ OMNamespace namespace = factory.createOMNamespace(ns,"tst");
+
+ String ln = "Child";
+
+ OMElement bodyChild = factory.createOMElement(ln,namespace);
+ bodyChild.addChild(factory.createText(value));
+
+ envelope.getBody().addChild(bodyChild);
+
+
+ ByteArrayOutputStream byteOutStr = new ByteArrayOutputStream();
+
+ XMLStreamWriter writer = XMLOutputFactory
+ .newInstance().createXMLStreamWriter(byteOutStr,UTF_16);
+ OMOutputImpl outputImpl = new OMOutputImpl(writer);
+ envelope.serializeWithCache(outputImpl);
+ outputImpl.flush();
+
+ ByteArrayInputStream byteInStr = new ByteArrayInputStream(byteOutStr.toByteArray());
+
+ StAXSOAPModelBuilder builder = new StAXSOAPModelBuilder(XMLInputFactory.newInstance().createXMLStreamReader(byteInStr, UTF_16),null);
+
+ SOAPEnvelope resultEnv = builder.getSOAPEnvelope();
+
+ OMElement bodyChildResult = resultEnv.getBody().getFirstElement();
+
+ assertNotNull("No child in body element", bodyChildResult);
+
+ String result = bodyChildResult.getText();
+
+ assertNotNull("No value for testParam param", result);
+
+ System.out.println("\nResult: " + result);
+
+ assertEquals("Expected result not received.", expected, result);
+
+
+ }
+
+ private void runtest(String value) throws Exception {
+ runTest(value, value);
+ }
+
+ public void testSimpleString() throws Exception {
+ runtest("a simple string");
+ }
+
+ public void testStringWithApostrophes() throws Exception {
+ runtest("this isn't a simple string");
+ }
+
+ public void testStringWithEntities() throws Exception {
+ runTest("&<>'"", "&<>'"");
+ }
+
+ public void testStringWithRawEntities() throws Exception {
+ runTest("&<>'\"", "&<>'\"");
+ }
+ public void testStringWithLeadingAndTrailingSpaces() throws Exception {
+ runtest(" centered ");
+ }
+
+ public void testWhitespace() throws Exception {
+ runtest(" \n \t "); // note: \r fails
+ }
+
+ public void testFrenchAccents() throws Exception {
+ runtest("\u00e0\u00e2\u00e4\u00e7\u00e8\u00e9\u00ea\u00eb\u00ee\u00ef\u00f4\u00f6\u00f9\u00fb\u00fc");
+ }
+
+ public void testGermanUmlauts() throws Exception {
+ runtest(" Some text \u00df with \u00fc special \u00f6 chars \u00e4.");
+ }
+
+ public void testWelcomeUnicode() throws Exception {
+ // welcome in several languages
+ runtest(
+ "Chinese (trad.) : \u6b61\u8fce ");
+ }
+
+ public void testWelcomeUnicode2() throws Exception {
+ // welcome in several languages
+ runtest(
+ "Greek : \u03ba\u03b1\u03bb\u03ce\u03c2 \u03bf\u03c1\u03af\u03c3\u03b1\u03c4\u03b5");
+ }
+
+ public void testWelcomeUnicode3() throws Exception {
+ // welcome in several languages
+ runtest(
+ "Japanese : \u3088\u3046\u3053\u305d");
+ }
+
+}
Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java Mon Aug 1 05:21:11 2005
@@ -162,16 +162,23 @@
assertTrue("SOAP 1.2 :- Header block name space uri mismatch",
headerBlock.getNamespace().getName().equals(
"http://example.org/ts-tests"));
- assertTrue("SOAP 1.2 :- Headaer block text mismatch",
- headerBlock.getText().equals("foo"));
+ assertTrue("SOAP 1.2 :- Header block text mismatch",
+ headerBlock.getText().trim().equals("foo"));
Iterator headerBlockAttributes = headerBlock.getAttributes();
OMAttribute roleAttribute = (OMAttribute) headerBlockAttributes.next();
assertTrue("SOAP 1.2 :- Role attribute name mismatch",
roleAttribute.getLocalName().equals(
SOAP12Constants.SOAP_ROLE));
+
+ System.out.println(roleAttribute.getValue().trim());
+ System.out.println(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI + "/" +
+ SOAP12Constants.SOAP_ROLE +
+ "/" +
+ "ultimateReceiver");
+
assertTrue("SOAP 1.2 :- Role value mismatch",
- roleAttribute.getValue().equals(
+ roleAttribute.getValue().trim().equals(
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI + "/" +
SOAP12Constants.SOAP_ROLE +
"/" +
@@ -306,7 +313,7 @@
node.getNamespace().getName().equals(
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
assertTrue("SOAP 1.2 :- Node value mismatch",
- node.getText().equals(
+ node.getText().trim().equals(
"http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"));
iteratorInFault.next();
@@ -318,7 +325,7 @@
role.getNamespace().getName().equals(
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
assertTrue("SOAP 1.2 :- Role value mismatch",
- role.getText().equals("ultimateReceiver"));
+ role.getText().trim().equals("ultimateReceiver"));
iteratorInFault.next();
SOAPFaultDetail detail = (SOAPFaultDetail) iteratorInFault.next();
@@ -330,7 +337,7 @@
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
assertTrue("SOAP 1.2 :- Text in detail mismatch",
- detail.getText().equals("Details of error"));
+ detail.getText().trim().equals("Details of error"));
Iterator iteratorInDetail = detail.getChildren();
@@ -342,7 +349,7 @@
element1.getNamespace().getName().equals(
"http:www.sample.org"));
assertTrue("SOAP 1.2 :- Text value in MaxTime element mismatch",
- element1.getText().equals("P5M"));
+ element1.getText().trim().equals("P5M"));
Iterator attributeIterator = element1.getAttributes();
OMAttribute attributeInMaxTime = (OMAttribute) attributeIterator.next();
@@ -352,7 +359,7 @@
attributeInMaxTime.getNamespace().getName().equals(
"http:www.sample.org"));
assertTrue("SOAP 1.2 :- Attribute value mismatch",
- attributeInMaxTime.getValue().equals("This is only a test"));
+ attributeInMaxTime.getValue().trim().equals("This is only a test"));
iteratorInDetail.next();
OMElement element2 = (OMElement) iteratorInDetail.next();
@@ -372,7 +379,7 @@
element21.getNamespace().getName().equals(
"http:www.sample.org"));
assertTrue("SOAP 1.2 :- Text value in Time element mismatch",
- element21.getText().equals("P3M"));
+ element21.getText().trim().equals("P3M"));
XMLStreamReader sopa11Parser = XMLInputFactory.newInstance()
.createXMLStreamReader(new StringReader(soap11Message));
@@ -405,7 +412,7 @@
headerBlock.getNamespace().getName().equals(
"http://example.org/ts-tests"));
assertTrue("SOAP 1.1 :- Headaer block text mismatch",
- headerBlock.getText().equals("foo"));
+ headerBlock.getText().trim().equals("foo"));
headerBlockAttributes = headerBlock.getAttributes();
@@ -427,7 +434,7 @@
actorAttribute.getLocalName().equals(
SOAP11Constants.ATTR_ACTOR));
assertTrue("SOAP 1.1 :- Actor value mismatch",
- actorAttribute.getValue().equals(
+ actorAttribute.getValue().trim().equals(
"http://schemas.xmlsoap.org/soap/" +
SOAP11Constants.ATTR_ACTOR +
"/" +
@@ -471,7 +478,7 @@
reason.getNamespace().getName().equals(
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
assertTrue("SOAP 1.1 :- Fault string value mismatch",
- reason.getSOAPText().getText().equals("Sender Timeout"));
+ reason.getSOAPText().getText().trim().equals("Sender Timeout"));
iteratorInFault.next();
role = (SOAPFaultRole) iteratorInFault.next();
@@ -482,7 +489,7 @@
role.getNamespace().getName().equals(
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
assertTrue("SOAP 1.1 :- Actor value mismatch",
- role.getText().equals(
+ role.getText().trim().equals(
"http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver"));
iteratorInFault.next();
@@ -494,7 +501,7 @@
detail.getNamespace().getName().equals(
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
assertTrue("SOAP 1.2 :- Text in detail mismatch",
- detail.getText().equals("Details of error"));
+ detail.getText().trim().equals("Details of error"));
iteratorInDetail = detail.getChildren();
@@ -506,7 +513,7 @@
element1.getNamespace().getName().equals(
"http:www.sample.org"));
assertTrue("SOAP 1.1 :- Text value in MaxTime element mismatch",
- element1.getText().equals("P5M"));
+ element1.getText().trim().equals("P5M"));
attributeIterator = element1.getAttributes();
attributeInMaxTime = (OMAttribute) attributeIterator.next();
@@ -536,7 +543,7 @@
element21.getNamespace().getName().equals(
"http:www.sample.org"));
assertTrue("SOAP 1.1 :- Text value in Time element mismatch",
- element21.getText().equals("P3M"));
+ element21.getText().trim().equals("P3M"));
iteratorInFault.next();
OMElement testElement = (OMElement) iteratorInFault.next();
@@ -553,7 +560,7 @@
childOfTestElement.getNamespace().getName().equals(
"http:www.Test.org"));
assertTrue("SOAP 1.1 :- Test element child value mismatch",
- childOfTestElement.getText().equals("This is only a test"));
+ childOfTestElement.getText().trim().equals("This is only a test"));
} catch (XMLStreamException e) {
log.info(e.getMessage());