logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: CRLF in <string> -- XML vs XML-RPC: msg#00001

Subject: Re: CRLF in <string> -- XML vs XML-RPC
On 6 May 2007, at 22:56, bryanh@xxxxxxxxxxxxxxxx wrote:

>
> So, enough of the background.  I'm posting because I have recently  
> been told
> that many or most XML-RPC servers see "\r\n" at the XML-RPC  
> application
> level.  So I want to poll: In existing implementations, if
> <string>\r\n</string> comes over the wire, does the XML-RPC  
> application
> code see "\r\n" or "\n"?  And does the implementation use standard
> XML parsing code or custom XML-RPC code?
>
> On the sending side, you can defeat XML's attempts to normalize line
> endings by sending the five characters &#x0d instead of the character
> \r.  That brings you closer to the spirit of the "binary data"  
> paragraph
> in the XML-RPC spec.  Does anybody do that?
>
> I'll start.  I maintain the XML-RPC For C/C++ libraries.  As far as I
> know, they have always presented \r\n to the application as \n on the
> receiving end, and it's because they use Expat and Libxml2 XML
> parsers.  On the sending side, if the application presents a string
> containing "\r\n" in the value for a <string>, those two characters go
> onto the wire.

Bryan,

I wrote and maintain MinML-RPC ( a server only implementation written  
in Java which is mostly used in intelligent instruments)  and the  
Groovy XML-RPC implementation (server and client also written in  
Java). Both use my MinML XML parser which normalises CRLF and CR to  
LF as per the XML spec. Neither implementation escapes CR when  
sending a <string>.

I believe that the Apache Java XML-RPC implementation does the same  
as he above. However the Apache implementation uses the standard Java  
XML parsing API which allows arbitrary parser implementations to be  
used so it is possible (but extremely unlikely) that some deployments  
could behave differently as far as CRLF normalisation is concerned.

The evidence from this list is that this behaviour does not cause  
problems in practice (I don't remember there ever being a user  
problem concerning this being posted on the list).

Cheers

        John Wilson



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/xml-rpc/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:xml-rpc-digest@xxxxxxxxxxxxxxx 
    mailto:xml-rpc-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    xml-rpc-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 




Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>