Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Re: Passing dates from Perl: msg#00011

cms.opengroupware.xmlrpc.devel

Subject: Re: Passing dates from Perl

> I am writing a small Perl script to become familiar with the XML-RPC
> API. I am using the RPC::XML::Client package of Perl to get a
> connection to the OGo server.
> Now, I want to create a task programmatically. But contrary to the
> documentation, the xmlrpcd does not seem to accept dates in the format
> %Y%m%dT%H%M%S.
> In xmlrpcd.log I find the following:
> Jun 27 12:32:04 ogo-xmlrpcd-1.1 [3480]: [WARN] <0x08316CE4[LSNewJobCommand]>
> date command argument 'startDate' is not a date (NSShortInline8BitString):
> 20060722T10:30:00
> Jun 27 12:32:04 ogo-xmlrpcd-1.1 [3480]: [ERROR] <0x08316CE4[LSNewJobCommand]>
> Could not convert key startDate (NSShortInline8BitString:20060722T10:30:00)
> to date, format is %Y-%m-%d %H:%M:%S
> When I try the format %Y-%m-%d %H:%M:%S, I still get the warning in
> the logs and an error on the client side, but the task is created all
> right.

I think it accepts standard dates as in PHP I can call
XML_RPC_iso8601_encode($value) to encode the date and in .NET using the
CookComputing XML-RPC assembly DateTime types are automatically
formatted and submitted without errors.

<aside>Of course, XML-RPC is a "standard" only in the loosest definition
of the word, it is really more like a "consensus". In some aspects more
like a "train wreck". The 'standard' document is really poorly done and
leaves a whole heck of allot open to interpretation.</aside>

> Can someone tell me more about this issue? Should I use %Y-%m-%d
> %H:%M:%S and ignore the warning, i.e. did the date format change since
> the documentation was written (xml-rpc-de.pdf from around 2003)?

It might be useful to look at the code of POGI (PHP) or OGoMojo (C#),
as I've gotten most things to work in both of those. There are lots of
'caveats and addendums' that xml-rpc-de doesn't include.

> Or
> is it that the xmlrpcd somehow does not properly convert date strings
> into date objects in my setup?
> The server is runing OGo-1.1.3 with sope-4.5.6.

An insertJob call on-the-wire looks like
------------------
Content-Type: text/xml
User-Agent: XML-RPC.NET
Authorization: Basic ********************
Content-Length: 24391
Connection: keep-alive
Host: gourd-amber

<?xml version="1.0"?>
<methodCall>
<methodName>person.insertJob</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>owner</name>
<value>
<struct>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10000</string>
</value>
</member>
<member>
<name>login</name>
<value>
<string>ogo</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>url</name>
<value>
<string>http://www.whitemice.org</string>
</value>
</member>
<member>
<name>login</name>
<value>
<string>adam</string>
</value>
</member>
<member>
<name>gender</name>
<value>
<string>male</string>
</value>
</member>
<member>
<name>isComplete</name>
<value>
<boolean>1</boolean>
</value>
</member>
<member>
<name>addresses</name>
<value>
<struct>
<member>
<name>mailing</name>
<value>
<struct>
<member>
<name>country</name>
<value>
<string>USA</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>mailing</string>
</value>
</member>
<member>
<name>state</name>
<value>
<string>MI</string>
</value>
</member>
<member>
<name>name1</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>street</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>zip</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10140</string>
</value>
</member>
<member>
<name>city</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>name2</name>
<value>
<string>CIS/IT Dept.</string>
</value>
</member>
<member>
<name>name3</name>
<value>
<string>ATTN: Adam Tauno Williams</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>private</name>
<value>
<struct>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10130</string>
</value>
</member>
<member>
<name>city</name>
<value>
<string>Grand Rapids</string>
</value>
</member>
<member>
<name>name1</name>
<value>
<string>Adam Tauno Williams</string>
</value>
</member>
<member>
<name>country</name>
<value>
<string>USA</string>
</value>
</member>
<member>
<name>zip</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>street</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>state</name>
<value>
<string>MI</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>private</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>location</name>
<value>
<struct>
<member>
<name>country</name>
<value>
<string>USA</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>location</string>
</value>
</member>
<member>
<name>state</name>
<value>
<string>MI</string>
</value>
</member>
<member>
<name>name1</name>
<value>
<string>Morrison Industrial Equipment</string>
</value>
</member>
<member>
<name>street</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>zip</name>
<value>
<string>*********************</string>
</value>
</member>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10150</string>
</value>
</member>
<member>
<name>city</name>
<value>
<string>Grand Rapids</string>
</value>
</member>
<member>
<name>name2</name>
<value>
<string>CIS/IT Dept.</string>
</value>
</member>
<member>
<name>name3</name>
<value>
<string>ATTN: Adam Tauno Williams</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>keywords</name>
<value>
<string />
</value>
</member>
<member>
<name>extendedKeys</name>
<value>
<array>
<data>
<value>
<string>email1</string>
</value>
<value>
<string>email2</string>
</value>
<value>
<string>callfrequency</string>
</value>
<value>
<string>division</string>
</value>
<value>
<string>email3</string>
</value>
<value>
<string>headboy</string>
</value>
<value>
<string>job_title</string>
</value>
<value>
<string>mailmktcode</string>
</value>
<value>
<string>other_title1</string>
</value>
<value>
<string>other_title2</string>
</value>
<value>
<string>salesperson</string>
</value>
<value>
<string>territory</string>
</value>
</data>
</array>
</value>
</member>
<member>
<name>birthday</name>
<value>
<dateTime.iso8601>19271206T05:00:00</dateTime.iso8601>
</value>
</member>
<member>
<name>number</name>
<value>
<string>OGo10100</string>
</value>
</member>
<member>
<name>objectVersion</name>
<value>
<i4>183</i4>
</value>
</member>
<member>
<name>comment</name>
<value>
<string>This dude rocks!</string>
</value>
</member>
<member>
<name>firstname</name>
<value>
<string>Adam</string>
</value>
</member>
<member>
<name>phoneTypes</name>
<value>
<array>
<data>
<value>
<string>01_tel</string>
</value>
<value>
<string>02_tel</string>
</value>
<value>
<string>03_tel_funk</string>
</value>
<value>
<string>05_tel_private</string>
</value>
<value>
<string>10_fax</string>
</value>
<value>
<string>15_fax_private</string>
</value>
</data>
</array>
</value>
</member>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10100</string>
</value>
</member>
<member>
<name>isAccount</name>
<value>
<boolean>1</boolean>
</value>
</member>
<member>
<name>extendedAttrs</name>
<value>
<struct>
<member>
<name>email1</name>
<value>
<string>adam@xxxxxxxxxxxxxxxx</string>
</value>
</member>
<member>
<name>headboy</name>
<value>
<string>no</string>
</value>
</member>
<member>
<name>email3</name>
<value>
<string>awilliam@xxxxxxxx</string>
</value>
</member>
<member>
<name>email2</name>
<value>
<string>awilliam@xxxxxxxxxxxxx</string>
</value>
</member>
<member>
<name>salesperson</name>
<value>
<string>none</string>
</value>
</member>
<member>
<name>territory</name>
<value>
<string>none</string>
</value>
</member>
<member>
<name>lastChanged</name>
<value>

<dateTime.iso8601>20031128T12:17:25</dateTime.iso8601>
</value>
</member>
<member>
<name>job_title</name>
<value>
<string>System and Network Administrator</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>phones</name>
<value>
<struct>
<member>
<name>03_tel_funk</name>
<value>
<struct>
<member>
<name>telephoneId</name>
<value>
<i4>10180</i4>
</value>
</member>
<member>
<name>info</name>
<value>
<string />
</value>
</member>
<member>
<name>number</name>
<value>
<string>****************</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>03_tel_funk</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>01_tel</name>
<value>
<struct>
<member>
<name>telephoneId</name>
<value>
<i4>10160</i4>
</value>
</member>
<member>
<name>info</name>
<value>
<string />
</value>
</member>
<member>
<name>number</name>
<value>
<string>****************</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>01_tel</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>15_fax_private</name>
<value>
<struct>
<member>
<name>telephoneId</name>
<value>
<i4>10210</i4>
</value>
</member>
<member>
<name>info</name>
<value>
<string />
</value>
</member>
<member>
<name>number</name>
<value>
<string />
</value>
</member>
<member>
<name>type</name>
<value>
<string>15_fax_private</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>10_fax</name>
<value>
<struct>
<member>
<name>telephoneId</name>
<value>
<i4>10200</i4>
</value>
</member>
<member>
<name>info</name>
<value>
<string />
</value>
</member>
<member>
<name>number</name>
<value>
<string>****************</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>10_fax</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>02_tel</name>
<value>
<struct>
<member>
<name>telephoneId</name>
<value>
<i4>10170</i4>
</value>
</member>
<member>
<name>info</name>
<value>
<string />
</value>
</member>
<member>
<name>number</name>
<value>
<string />
</value>
</member>
<member>
<name>type</name>
<value>
<string>02_tel</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>05_tel_private</name>
<value>
<struct>
<member>
<name>telephoneId</name>
<value>
<i4>10190</i4>
</value>
</member>
<member>
<name>info</name>
<value>
<string />
</value>
</member>
<member>
<name>number</name>
<value>
<string />
</value>
</member>
<member>
<name>type</name>
<value>
<string>05_tel_private</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>isPrivate</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>name</name>
<value>
<string>Williams</string>
</value>
</member>
<member>
<name>degree</name>
<value>
<string>UNIX System Administration</string>
</value>
</member>
<member>
<name>nickname</name>
<value>
<string>ATW</string>
</value>
</member>
<member>
<name>middlename</name>
<value>
<string>Tauno</string>
</value>
</member>
</struct>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>associatedContacts</name>
<value>
<string>Associated Contacts</string>
</value>
</member>
<member>
<name>totalWork</name>
<value>
<i4>75</i4>
</value>
</member>
<member>
<name>actualWork</name>
<value>
<i4>50</i4>
</value>
</member>
<member>
<name>executor</name>
<value>
<struct>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10100</string>
</value>
</member>
<member>
<name>login</name>
<value>
<string>adam</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>creator</name>
<value>
<struct>
<member>
<name>id</name>
<value>

<string>skyrix://gourd-amber.morrison.iserv.net/morrisonOGo/10100</string>
</value>
</member>
<member>
<name>login</name>
<value>
<string>adam</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>priority</name>
<value>
<i4>1</i4>
</value>
</member>
<member>
<name>percentComplete</name>
<value>
<i4>25</i4>
</value>
</member>
<member>
<name>keywords</name>
<value>
<string>mogi insertJob</string>
</value>
</member>
<member>
<name>sensitivity</name>
<value>
<i4>3</i4>
</value>
</member>
<member>
<name>associatedCompanies</name>
<value>
<string>Associated Companies</string>
</value>
</member>
<member>
<name>accountingInfo</name>
<value>
<string>Accounting Info</string>
</value>
</member>
<member>
<name>startDate</name>
<value>
<dateTime.iso8601>20060627T00:00:00</dateTime.iso8601>
</value>
</member>
<member>
<name>name</name>
<value>
<string>TEST JOB</string>
</value>
</member>
<member>
<name>endDate</name>
<value>
<dateTime.iso8601>20060704T00:00:00</dateTime.iso8601>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>

--
OpenGroupware.org XML-RPC
xmlrpc@xxxxxxxxxxxxxxxxx
http://mail.opengroupware.org/mailman/listinfo/xmlrpc



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
db.postgresql.b...    video.ffmpeg.us...    gis.qgis.devel/...    web.rdf.redland...    file-systems.oc...    recreation.rail...    systems.archos....    python.c++/2003...    lang.c--/2005-0...    multimedia.gpho...    network.unison....    editors.jedit.u...    hardware.pciids...    cms.tiki.cvs/20...    bug-tracking.ma...    java.hadoop.hba...    ietf.rsvp/2002-...    xfree86.devel/2...    qnx.openqnx.dev...    apache.labs.dev...    tex.pdftex/2008...    os.solaris.open...    user-groups.lin...    kde.koffice/200...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation