Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
SOAP performance and unmarshalling/parsing speed
Micah Wedemeyer
3/19/2007 6:23:00 PM
I have been playing around with SOAP a little (as a client), and I
really like soap4r. I was able to get my SOAP client running without
too much trouble at all.
Unfortunately, the performance is fairly slow. We have a SOAP web
service running on the localhost, but it still takes about 4-5 seconds
to get 150K of data.
I used the wiredump to put the request/response to STDOUT, and I
realized that the actual communication is happening very fast (easily
within .5 seconds). However, it hangs for a few seconds after the
response is received, before finally returning.
I am guessing that the unmarshalling and parsing of the returned
envelope is what is taking the most time. I have heard that Ruby is not
so great at XML parsing.
Lucky for me, the return is one big chunk of text, and I just need to
strip off the envelope and don't need any complicated parsing of the
internals.
So, finally, my question: What would be the quickest and easiest (in
terms of programming skill) of sending the SOAP call and getting the
resulting XML, but bypassing the parsing/unmarshalling? I think I can
handle the parsing by hand.
Thanks,
Micah
--
Posted via
http://www.ruby-...
.
1 Answer
NAKAMURA, Hiroshi
6/6/2007 1:49:00 PM
0
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
Sorry for the late response.
Micah Wedemeyer wrote:
> Unfortunately, the performance is fairly slow. We have a SOAP web
> service running on the localhost, but it still takes about 4-5 seconds
> to get 150K of data.
Can you try soap4r-1.5.6? (it's now in RC stage and should be released
in a week). You can download RC2 from
http://dev.ctor.org/soap4r/wiki#a2007-06-05...
For 1.5.6 last month, I did profile analysis especially on parsing large
SOAP response. It should have better performance characteristics (CPU
and memory).
And would you please send me a sample client and a sample dumped SOAP
response if it's still slow. I'll check where's the bottleneck.
> So, finally, my question: What would be the quickest and easiest (in
> terms of programming skill) of sending the SOAP call and getting the
> resulting XML, but bypassing the parsing/unmarshalling? I think I can
> handle the parsing by hand.
sending:
driver.call_my_method(REXML::Document.new("<param1>...</param1>"))
receiving:
driver.return_response_as_xml = true
xml = driver.call_my_method(...)
doc = REXML::Document.new(xml)
These require soap4r-1.5.6 RC2+.
Regards,
// NaHi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
iQEVAwUBRma7NB9L2jg5EEGlAQJKhAgAnmfpoyOY5xkZQaSJY7VdOtpeqhZBB36w
Fl6hpVqciWnIwWPHTwms+LfFceS8dsREWY8QXlcljozoNHyIUSXh36gHbHUJyzBp
RnBSROipngjDG7CsjyGHZkt7hhebmpAggfEPFw66bnAHYF/Zt/CG9g4ww1ZusTdV
cvsomZPe9xn/O7/CciZOpZRHMcg2ZPOotQA58LTKpj8+mXqFn5yke3j2Zid9AiFJ
IdtbJCMf/K14ufEfcAbkQUUjVE7n6AoNJYbFx7bNxo47Rwnv7c+VPBDc8KaWK+3w
4IMn7LP181wUp5TsUGoFeiKX7GiZy9QFgytrBqVnLaTZmotS++obgg==
=x4fO
-----END PGP SIGNATURE-----
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
SOAP performance and unmarshalling/parsing speed
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password