[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Issues with Ruby trying to parse data passed from Flex app

Rajat Garg

3/28/2008 5:36:00 AM

[Note: parts of this message were removed to make it a legal post.]

Hi Guys,

I have a Ruby API that is getting called by a Flex app using POST. The
problem is as long as data is in the format of -

user[name]=alsk
user[email]=klsd
user[pass]=03493

it is fine. But, when it has say two root elements like,

user[name]=alsk
user[email]=klsd
user[pass]=03493
fc_id =232

It will start crapping out with error messages like -
Session ID: e3fe6e12eb9f685d82d87f413590efa9
Parameters: {"format"=>#<Mime::Type:0xb797b21c @synonyms=["text/xml",
"application/x-xml"], @symbol=:xml, @string="application/xml">,
"exception"=>"#<REXML::ParseException: malformed XML: missing tag
start\nLine: \nPosition: \nLast 80 unconsumed characters:\n<user[email]>
nuwan@nuwan.com</user[email]><user[first_name]>nuwan</user[first_nam>\n/usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:346:in
`pull'\n/usr/local/lib/ruby/1.8/rexml/parsers/treeparser.rb:21:in
`parse'\n/usr/local/lib/ruby/1.8/rexml/document.rb:190:in
`build'\n/usr/local/lib/ruby/1.8/rexml/document.rb:45:in
`initialize'\n/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/vendor/xml_simple.rb:952:in



What is the problem? Can I only pass 1 record with a set of values or can I
pass two records. Same thing works for GET.

Please advise.

Thx,
--
Rajat Garg


Ph: 206-499-9495
Add: 1314 Spring Street, #412
Seattle, WA 98104
Web: http://www.piloto...
-----------------------------------------------------------------------------------------------------
Flying is the second greatest thrill known to man. Landing is the first!

1 Answer

Jano Svitok

3/28/2008 7:31:00 AM

0

On Fri, Mar 28, 2008 at 6:36 AM, Rajat Garg <rajat79@gmail.com> wrote:
> Hi Guys,
>
> I have a Ruby API that is getting called by a Flex app using POST. The
> problem is as long as data is in the format of -
>
> user[name]=alsk
> user[email]=klsd
> user[pass]=03493
>
> it is fine. But, when it has say two root elements like,
>
> user[name]=alsk
> user[email]=klsd
> user[pass]=03493
> fc_id =232
>
> It will start crapping out with error messages like -
> Session ID: e3fe6e12eb9f685d82d87f413590efa9
> Parameters: {"format"=>#<Mime::Type:0xb797b21c @synonyms=["text/xml",
> "application/x-xml"], @symbol=:xml, @string="application/xml">,
> "exception"=>"#<REXML::ParseException: malformed XML: missing tag
> start\nLine: \nPosition: \nLast 80 unconsumed characters:\n<user[email]>
> nuwan@nuwan.com</user[email]><user[first_name]>nuwan</user[first_nam>\n/usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:346:in
> `pull'\n/usr/local/lib/ruby/1.8/rexml/parsers/treeparser.rb:21:in
> `parse'\n/usr/local/lib/ruby/1.8/rexml/document.rb:190:in
> `build'\n/usr/local/lib/ruby/1.8/rexml/document.rb:45:in
> `initialize'\n/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/vendor/xml_simple.rb:952:in
>
>
>
> What is the problem? Can I only pass 1 record with a set of values or can I
> pass two records. Same thing works for GET.

The error message is about malformed XML. Maybe you could look at the
xml source to see what's wrong.
For example - there's </user[first_nam> tag that seems wrong.

Other than that, it would help if you specify what framework are you
using (rails, active webservice, etc.)
- this doesn't look like a plain POST request since XML somehow got
into processing...