A little up front info:
I have a SOAP service (hosted using JAX-WS (Endpoint class), but I don\'t think that is important).
I can connect to and use the web
I got the same problem and solved it modifying the http version.
A simpler way to to that is, inside the stub class, calling the setProperty method on the Call instance:
_call.setProperty(MessageContext.HTTP_TRANSPORT_VERSION,HTTPConstants.HEADER_PROTOCOL_V11);
1) Verify that the C# and Java clients are sending exactly the same requests to the server. If you're using Jetty, turning on request logging would probably give you the data that you need.
2) Once the SAX parser starts running on the client, it's going to make callbacks that will wind up -- directly or indirectly -- invoking methods in your generated client. You should be able to set breakpoints at the beginning and end (and/or return
s) of the generated client methods, and use these to determine where the delay[s] happen[s].
(BTW, in the SAX API, URLs such as http://xml.org/sax/properties/lexical-handler
are used locally to identify property names; nothing is going to look for anything at that address. See http://xerces.apache.org/xerces2-j/properties.html for more info.)
Most likely a timeout. Could be that parser trying to download something from internet (DTD, XSD, etc) but you're behind a proxy/firewall.
Try to take stack trace of the server, when running the test to see what's going on (e.g. jps/ jstat).
Your problem is exactly what I'm facing now. And funny, I've gone through pretty much the same cycle (of the endpoint service, .net client working fine, and eclipse generated client taking a good 5 minutes to process). Thank you, indeed, for posting the updates and the solution. I'm not a java savvy, so may I ask if you applied the solution to the same eclipse generated client code? Or did you do something completely different? If you have modified the eclipse generated client code, where exactly have you added those lines?
Thanks, and and I really appreciate the help :)
Cheers, Arash