You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-auto@ws.apache.org by "Timofei B. Bolshakov (JIRA)" <xm...@ws.apache.org> on 2007/09/04 19:02:47 UTC
[jira] Created: (XMLRPC-146) 'nan' is not recognized as Double
causing exceptions
'nan' is not recognized as Double causing exceptions
----------------------------------------------------
Key: XMLRPC-146
URL: https://issues.apache.org/jira/browse/XMLRPC-146
Project: XML-RPC
Issue Type: Bug
Affects Versions: 3.0, 3.1
Environment: Sun Java 6, Linux
Reporter: Timofei B. Bolshakov
Priority: Critical
I got an XML-RPC remote server (EPICS archiver) written in C++. I have no way to change code / version etc on this server. This server returns timestamped doubles by the request of my Apache XML-RPC clients. It returns Not a Number (NaN) as string 'nan'. That causes an parsing exception in Apache XML-RPC library:
org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse servers response: Failed to parse double value: nan
org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:177)
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:145)
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:39)
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
gov.fnal.controls.webapps.epics_archiver.EpicsArchiver$4.call(EpicsArchiver.java:244)
gov.fnal.controls.webapps.epics_archiver.EpicsArchiver$4.call(EpicsArchiver.java:232)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
java.util.concurrent.FutureTask.run(FutureTask.java:138)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (XMLRPC-146) 'nan' is not recognized as Double
causing exceptions
Posted by "Jochen Wiedmann (JIRA)" <xm...@ws.apache.org>.
[ https://issues.apache.org/jira/browse/XMLRPC-146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jochen Wiedmann closed XMLRPC-146.
----------------------------------
Resolution: Won't Fix
The value "nan" is definitely a violation of the XML-RPC specification. In other words, this cannot be supported by an XML-RPC compliant implementation out of the box.
Apart from that, as far as I know, you're the first one who requests that after quite some years of XML-RPC. In other words, I doubt that the feature is sufficiently common to justify inclusion into the core code. Therefore, I'd ask you to use a custom type factory, as described in
http://ws.apache.org/xmlrpc/advanced.html
The feature was specifically developed with topics like that in mind.
> 'nan' is not recognized as Double causing exceptions
> ----------------------------------------------------
>
> Key: XMLRPC-146
> URL: https://issues.apache.org/jira/browse/XMLRPC-146
> Project: XML-RPC
> Issue Type: Bug
> Affects Versions: 3.0, 3.1
> Environment: Sun Java 6, Linux
> Reporter: Timofei B. Bolshakov
> Priority: Critical
>
> I got an XML-RPC remote server (EPICS archiver) written in C++. I have no way to change code / version etc on this server. This server returns timestamped doubles by the request of my Apache XML-RPC clients. It returns Not a Number (NaN) as string 'nan'. That causes an parsing exception in Apache XML-RPC library:
> org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse servers response: Failed to parse double value: nan
> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:177)
> org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:145)
> org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
> org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:39)
> org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
> org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
> org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
> org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
> gov.fnal.controls.webapps.epics_archiver.EpicsArchiver$4.call(EpicsArchiver.java:244)
> gov.fnal.controls.webapps.epics_archiver.EpicsArchiver$4.call(EpicsArchiver.java:232)
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> java.util.concurrent.FutureTask.run(FutureTask.java:138)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.