だから私は現在の天気を取得する簡単なWebサービスを書こうとしています。次のコードを使用して、Webサービスメソッドを呼び出し、返されたXMLデータをコンソールに出力できます。
ただし、このメソッドの応答を解析しようとすると、MalformedURLExceptionが発生します。エラーで解析したいXMLを確認できます。
そこで、応答をファイルに保存して、そのように解析してみました。
Web応答をファイルに保存しようとすると、すべての漢字が表示されます。System.out.println
XMLをファイルに含める必要があるように、XMLをコンソールに完全に出力します。
私はまったくの初心者なので、非常に単純なものが欠けている場合は失礼します。ファイルをローカルに保存せずにこれを実行したいのですが、ここで機能するものは何でも問題ありません。
私の問題はこのコードのどこかにあります:
GlobalWeather service = new GlobalWeather();
GlobalWeatherSoap port = service.getGlobalWeatherSoap();
String data = port.getWeather(city, country);
// this prints the xml response to the console perfectly
System.out.println(data);
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
SAXParser saxParser = spf.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setContentHandler(new WeatherApp());
// this gives MalformedURLexception when set up this way.
// this gives the correct output when passed a locally stored XML file
// I have omitted my SAX methods and my weather class that holds the data
// but all work fine when using a local XML file on my machine.
xmlReader.parse(data);