0 Replies Latest reply on Oct 22, 2008 6:06 PM by Alan Feng

    WS client retrieves WSDL many many times, performance proble

    Alan Feng Novice

      During my testing, I used smartsniff to check the HTTP requests / responses between my WS Client and the SOAP server. I was surprised to discover that the dynamic WS client would first download the remote WSDL multiple times to create the service object, which I use to get the port object, then for each operation invocation, it would retrieve the WSDL file again, even the same port object is used.

      This is a huge performance slow down for dynamic client, as we all know there is lots of overhead to download something via the network. Plus that I suspect that the WSDL file is parsed again and again with each download (or otherwise why downloading it?), which also slows things down a lot.

      Even for static generated client code, it would still download the WSDL again if I use the service constructor that takes the WSDL URL and serviceQName. Not much of difference compare with the dynamic client.

      I am not sure if the WSDL file is locally available (via file system), the WS client would still load it / parse it multiple times.

      Anyone noticed this? Or have any comments?