Here's a snippet of code I spent a weekend of googling and trial and error in an attempt to download the xml guide data using a hand coded soap message and no external libraries. One area I had trouble with is the authentication piece. I've seen it listed in the forums that schedules direct accepts basic type of authentication when in reality it doesn't. The digest style of authentication is what seems to be required. I discovered this using wget with the debug option (an example of this is listed else where on this forum). It's worth mentioning that in my research to determine how to negotiate digest authentication using HttpURLConnection most believed that this class could only handle the basic authentication. This is not true but you need to set the default Authenticator with an instance of Authenticator where the getPasswordAuthentication method is overridden. This technique is not very intuitive; However, it is very easy to implement as you can see in my sample code. For some reason doing this triggers URLConnection to negotiate digest authentication when necessary.

If the sample code looks similar to other code you've seen out there on other forums you are probably correct as it was cobbled together by copy and pasting snippets from random postings. Anyhow, I hope it's useful: