Enterprise Integration Zone is brought to you in partnership with:

Mark O'Neill is VP Innovation at Axway. Previously, he was CTO and co-founder at Vordel, acquired by Axway in 2012. He is the author of the McGraw-Hill book "Web Services Security" and is frequent speaker at conferences including Java One, the RSA Security Conference, and Oracle Open World. Mark is based on Boston, Massachusetts. Mark is a DZone MVB and is not an employee of DZone and has posted 64 posts at DZone. You can read more from them at their website. View Full User Profile

Pro Tip: Find Out How Long a Web Service Call Takes

05.01.2012
| 7430 views |
  • submit to reddit
Niall Commiskey has written a really useful guide to measuring the time a Gateway takes to call a Web Service. I recommend you check it out if you're interested in this information. One thing I'd add is that Niall is timing how long a Web Service filter takes to run. The Web Service filter may be doing other things, in addition to calling the Web Service (e.g. it may be doing Schema validation on the message). So the timing is showing how long all of these things take, together. If you call an API or Web Service using a "Connect to URL" filter (as explained in this blog post) then all it is doing is making the call.

To add to Niall's information, here are some other ways you can find this information about how long a Web Service call takes:

1) Use Traffic Monitor. This is available by default by pointing a browser to 8090 on the Gateway. It shows in milliseconds how long each processing step at the Gateway takes, including calls to external Web Services or APIs.

2) Use SR . In the example below, I am using the SR tool (which comes with the free SOAPbox download) to call a Google search API over SSL. You can see it tells me the time the request took. If I want to send many requests, I can do that with the -c (count) and -p (parallel threads) parameters.

C:\soapbox\sr>sr -C -h www.google.com -s 443 -u "/search?as_q=vordel" -v GET -V
1.1 -qq
will use HTTPS sessions
remote host = www.google.com
service=443
URI = "/search?as_q=vordel"
verb = "GET"
HTTP client version 1.1
quiet
quiet
2210 ranges from 0 to 3653.903699
add header Connection: close
add header Content-Length: 0
1 threads started
time taken: 0.374000 secs.
bytes sent: 0.000071MB (ju octets)
bytes received: 0.051882MB (ju octets)
transactions: 1
connections: 1
sslConnections: 1
sslSessionsReused: 0
bytes sent/sec: 0.000189MB (197.860963 octets)
bytes received/sec: 0.138721MB (145459.893048 octets)
transactions/sec: 2.673797
protocol/connection errors: 0
transactions by HTTP response code:
code=200, count=1 
Published at DZone with permission of Mark O'neill, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)