Keith,
Yes, the original example WSDL declares UTF-8, incorrectly. However, my mention of KOI8-R above is not directly related to the original example WSDL. A fellow Red-Hatter sent me various other Russian WSDL examples, with encodings in CP-1251, KOI8-R and UTF-8, and that's what I've been testing with and got working correctly by reading the byte stream into a String using ICU4J. My change also handles the situation of the original example WSDL, incorrect declaration and all.
There is shared code for retrieving the WSDL, so I don't want to do something different for http:// (looking for the Content-Type field) than I do for reading in from file:// or classpath://. Besides, the Content-Type field could be wrong, just as it we saw the declaration was wrong in the original example WSDL.
David