Ok. A few more thoughts:
1. If it worked from SOAP UI without a truststore, then I would try the client in the same way, i.e. without the trust store.
2. Lets say you have your XML request in a variable "String request;". Based on this, can you also post the code that actually sends the request by writing to an OutputStream (after the handshake is successful)?
3. What are the
actual bytes you are sending? I suspect the problem might lie there. While I don't know exactly what you are sending, it may not be enough to send just the XML. Maybe you also need to send the HTTP request information, including header, number of bytes etc.? I am not sure of this though, but I feel that the server, in addition to the actual request itself, is also expecting additional bytes before and after the XML request. I wish someone with more knowledge on this would reply. Oh well.
4. Since you have a WSDL, is it an option for you to use WSDL2Java or similar tool that simply generates the needed code and build.xml? I feel that would be much quicker than writing the actual code.
5. Maybe
this is applicable to you?
Once I have your code (from #2 above) that sends the request, I will try it out this weekend against an actual web service (instead of using the tutorial code that I have used so far). Haven't had the time so far.