You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by jo...@apache.org on 2006/05/18 02:55:18 UTC

svn commit: r407421 - /webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java

Author: jochen
Date: Wed May 17 17:55:18 2006
New Revision: 407421

URL: http://svn.apache.org/viewvc?rev=407421&view=rev
Log:
The XML-RPC specification demands, that no timezone specification is printed.

Modified:
    webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java

Modified: webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java?rev=407421&r1=407420&r2=407421&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java (original)
+++ webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java Wed May 17 17:55:18 2006
@@ -16,14 +16,15 @@
 package org.apache.xmlrpc.test;
 
 import java.io.StringWriter;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.TimeZone;
 
 import junit.framework.TestCase;
 
 import org.apache.ws.commons.serialize.XMLWriter;
 import org.apache.ws.commons.serialize.XMLWriterImpl;
-import org.apache.xmlrpc.XmlRpcException;
 import org.apache.xmlrpc.XmlRpcRequest;
 import org.apache.xmlrpc.client.XmlRpcClient;
 import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
@@ -58,7 +59,7 @@
 	}
 
 	protected String writeRequest(XmlRpcStreamRequestConfig pConfig, XmlRpcRequest pRequest)
-			throws XmlRpcException, SAXException {
+			throws SAXException {
 		StringWriter sw = new StringWriter();
 		XMLWriter xw = new XMLWriterImpl();
 		xw.setEncoding("US-ASCII");
@@ -133,4 +134,27 @@
 			+ "</struct></value></param></params></methodCall>";
 		assertEquals(expect, got);
 	}
+
+	/** Tests serialization of a calendar instance.
+	 */
+    public void testDateParam() throws Exception {
+        TimeZone tz = TimeZone.getTimeZone("GMT");
+        Calendar cal1 = Calendar.getInstance(tz);
+        cal1.set(1933, 5, 12, 11, 7, 21);
+        cal1.set(Calendar.MILLISECOND, 311);
+        Calendar cal2 = Calendar.getInstance(TimeZone.getDefault());
+        cal2.set(1933, 5, 12, 11, 7, 21);
+        cal2.set(Calendar.MILLISECOND, 311);
+        XmlRpcStreamRequestConfig config = getConfig();
+        XmlRpcRequest request = new XmlRpcClientRequestImpl(config, "dateParam", new Object[]{cal1, cal2.getTime()});
+        String got = writeRequest(config, request);
+        String expect =
+            "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>"
+            + "<methodCall>"
+            + "<methodName>dateParam</methodName><params>"
+            + "<param><value><dateTime.iso8601>1933-06-12T11:07:21.311</dateTime.iso8601></value></param>"
+            + "<param><value><dateTime.iso8601>1933-06-12T11:07:21.311</dateTime.iso8601></value></param>"
+            + "</params></methodCall>";
+        assertEquals(expect, got);
+    }
 }



Re: svn commit: r407421 - /webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java

Posted by Henri Gomez <he...@gmail.com>.
Agrh iso8601 allow many formats but from http://www.xmlrpc.com/spec

I see that format :

<dateTime.iso8601>	date/time	19980717T14:08:55

dateTime format shouldn't include '-' in date nor milliseconds it seems

So our dateTime.iso8601  should turn from :

<dateTime.iso8601>1933-06-12T11:07:21.311</dateTime.iso8601>

to

<dateTime.iso8601>19330612T11:07:21</dateTime.iso8601>


Just to be sure we stay compatible with others XML-RPC implementations.

Comments please


2006/5/18, jochen@apache.org <jo...@apache.org>:
> Author: jochen
> Date: Wed May 17 17:55:18 2006
> New Revision: 407421
>
> URL: http://svn.apache.org/viewvc?rev=407421&view=rev
> Log:
> The XML-RPC specification demands, that no timezone specification is printed.
>
> Modified:
>     webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java
>
> Modified: webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java
> URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java?rev=407421&r1=407420&r2=407421&view=diff
> ==============================================================================
> --- webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java (original)
> +++ webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/SerializerTest.java Wed May 17 17:55:18 2006
> @@ -16,14 +16,15 @@
>  package org.apache.xmlrpc.test;
>
>  import java.io.StringWriter;
> +import java.util.Calendar;
>  import java.util.HashMap;
>  import java.util.Map;
> +import java.util.TimeZone;
>
>  import junit.framework.TestCase;
>
>  import org.apache.ws.commons.serialize.XMLWriter;
>  import org.apache.ws.commons.serialize.XMLWriterImpl;
> -import org.apache.xmlrpc.XmlRpcException;
>  import org.apache.xmlrpc.XmlRpcRequest;
>  import org.apache.xmlrpc.client.XmlRpcClient;
>  import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
> @@ -58,7 +59,7 @@
>         }
>
>         protected String writeRequest(XmlRpcStreamRequestConfig pConfig, XmlRpcRequest pRequest)
> -                       throws XmlRpcException, SAXException {
> +                       throws SAXException {
>                 StringWriter sw = new StringWriter();
>                 XMLWriter xw = new XMLWriterImpl();
>                 xw.setEncoding("US-ASCII");
> @@ -133,4 +134,27 @@
>                         + "</struct></value></param></params></methodCall>";
>                 assertEquals(expect, got);
>         }
> +
> +       /** Tests serialization of a calendar instance.
> +        */
> +    public void testDateParam() throws Exception {
> +        TimeZone tz = TimeZone.getTimeZone("GMT");
> +        Calendar cal1 = Calendar.getInstance(tz);
> +        cal1.set(1933, 5, 12, 11, 7, 21);
> +        cal1.set(Calendar.MILLISECOND, 311);
> +        Calendar cal2 = Calendar.getInstance(TimeZone.getDefault());
> +        cal2.set(1933, 5, 12, 11, 7, 21);
> +        cal2.set(Calendar.MILLISECOND, 311);
> +        XmlRpcStreamRequestConfig config = getConfig();
> +        XmlRpcRequest request = new XmlRpcClientRequestImpl(config, "dateParam", new Object[]{cal1, cal2.getTime()});
> +        String got = writeRequest(config, request);
> +        String expect =
> +            "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>"
> +            + "<methodCall>"
> +            + "<methodName>dateParam</methodName><params>"
> +            + "<param><value><dateTime.iso8601>1933-06-12T11:07:21.311</dateTime.iso8601></value></param>"
> +            + "<param><value><dateTime.iso8601>1933-06-12T11:07:21.311</dateTime.iso8601></value></param>"
> +            + "</params></methodCall>";
> +        assertEquals(expect, got);
> +    }
>  }
>
>
>