FileDocCategorySizeDatePackage
TestString2.javaAPI DocApache Axis 1.44275Sat Apr 22 18:57:28 BST 2006test.encoding

TestString2

public class TestString2 extends TestCase
Little serialization test with a struct.

Fields Summary
public static final String
myNS
Constructors Summary
public TestString2(String name)

    
       
        super(name);
    
Methods Summary
private voidruntest(java.lang.String value, java.lang.String expected)

        MessageContext msgContext = new MessageContext(new AxisServer());
        MessageFactory factory = MessageFactory.newInstance();
        org.apache.axis.Message message = (org.apache.axis.Message) factory.createMessage();
        message.setMessageContext(msgContext);
        String requestEncoding = "UTF-16";
        msgContext.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, requestEncoding);
        message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, requestEncoding);
        RPCParam input = new RPCParam("urn:myNamespace", "testParam", value);
        
        RPCElement body = new RPCElement("urn:myNamespace", "method1", new Object[]{ input });
        message.getSOAPBody().addChildElement(body);
        
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        message.writeTo(baos);
        
        ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
        DeserializationContext dser = new DeserializationContext(
            new InputSource(bais), msgContext, org.apache.axis.Message.REQUEST);
        dser.parse();
        
        org.apache.axis.message.SOAPEnvelope env = dser.getEnvelope();
        RPCElement rpcElem = (RPCElement)env.getFirstBody();
        RPCParam output = rpcElem.getParam("testParam");
        assertNotNull("No <testParam> param", output);
        
        String result = (String)output.getObjectValue();
        assertNotNull("No value for testParam param", result);
        assertEquals("Expected result not received.", expected, result);

        String nodeValue = output.getValue();
        assertNotNull("No node value for testParam param", nodeValue);
        assertEquals(expected, nodeValue);
    
private voidruntest(java.lang.String value)

        runtest(value, value);
    
public voidtestFrenchAccents()

        runtest("\u00e0\u00e2\u00e4\u00e7\u00e8\u00e9\u00ea\u00eb\u00ee\u00ef\u00f4\u00f6\u00f9\u00fb\u00fc");
    
public voidtestFrenchAccents2()

        runtest("Une chaîne avec des caractères accentués");
    
public voidtestGermanUmlauts()

        runtest(" Some text \u00df with \u00fc special \u00f6 chars \u00e4.");
    
public voidtestSimpleString()

        runtest("a simple string");
    
public voidtestStringWithApostrophes()

        runtest("this isn't a simple string");
    
public voidtestStringWithEntities()

        runtest("&<>'"", "&<>'"");
    
public voidtestStringWithLeadingAndTrailingSpaces()

        runtest("          centered          ");
    
public voidtestStringWithRawEntities()

        runtest("&<>'\"", "&<>'\"");
    
public voidtestWelcomeUnicode()

        // welcome in several languages
        runtest(
          "Chinese (trad.) : \u6b61\u8fce  ");
    
public voidtestWelcomeUnicode2()

        // welcome in several languages
        runtest(
          "Greek : \u03ba\u03b1\u03bb\u03ce\u03c2 \u03bf\u03c1\u03af\u03c3\u03b1\u03c4\u03b5");
    
public voidtestWelcomeUnicode3()

        // welcome in several languages
        runtest(
          "Japanese : \u3088\u3046\u3053\u305d");
    
public voidtestWhitespace()

        runtest(" \n \t "); // note: \r fails