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);
> + }
> }
>
>
>