Web Service Connection Slow

Posted by dwfranken on 19-Nov-2013 04:04

I'm using the following code to connect to a WebService:

create server hWebService.

/* Connect to the WebService */
hWebService:connect("-WSDL 'mywsdl.wsdl'
-Service SomeService":U).

I find it annoying that it takes quite some time to connect to this webservice. about 15 seconds. Is there any way to speed things up? The service I'm connecting to is non-SSL (although I'm forwarding to SSL with Stunnel).

Within the logs of STunnel the actual connection comes in about 15 seconds after I'm calling the connect()-statement, so what's it doing until that time? Probably it's parsing the WSDL, but why is that so slow?

Is there anything I can do to edit the WSDL to make it less slow?

All Replies

Posted by Brian K. Maher on 21-Nov-2013 07:40

What is the performance like if you take Stunnel out of the picture?

Posted by dwfranken on 21-Nov-2013 08:17

Comparable, Stunnel isn't the limiting factor I've discovered, it's just the connect() statement with the (presumed) parsing of the WSDL which takes a lot of time.

Posted by Peter Judge on 22-Nov-2013 08:21

Which version are you using?

Posted by dwfranken on 22-Nov-2013 08:34

We are on 11.0, would an update to 11.X (3 or 2) make a big difference you think?

Posted by Peter Judge on 22-Nov-2013 08:37

There were some improvements made in 11.3 to WebServices calls in general. If you can try using 11.3 it would be a useful datapoint. Otherwise I would suggest logging a bug if its reproducible,

Posted by dwfranken on 27-Nov-2013 02:07

I found out the reason. My WSDL imports three (quite large) XSD's: xmldsig-core-schema, xenc-schema and soap-envelope. It will not load the WSDL if I remove the 'schemaLocation' attributes or the XSD-files in my folder. I get "cannot resolve type" errors when I remove anything. But the XSD's themselves are not the culprit, well, part of one of them is.

I found out that xenc-schema.xsd references xmldsig-core-schema with a schemaLocation that's on the web. After I changed it to point to my local xsd the load-time went down from 15+ seconds to under 1 second.

This thread is closed