Я работаю над настольным приложением, в котором пользователь вводит слово, затем отображается его определение. Для этого я использую веб-сервис: DictService. Мой код работает нормально, единственная проблема заключается в том, что он не возвращает определение.WSDL Web Service для настольных приложений
Вот мой код:
«jTextField1», где пользователь записывает слово.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String str = jTextField1.getText();
System.out.println(define(str));
}
Метод определения является:
private static WordDefinition define(java.lang.String word) {
com.aonaware.services.webservices.DictService service = new com.aonaware.services.webservices.DictService();
com.aonaware.services.webservices.DictServiceSoap port = service.getDictServiceSoap();
return port.define(word);
}
Например, когда я ввести слово "тест", выход: "[email protected]"
Я действительно не знаю, как это исправить, любая помощь будет принята с благодарностью. Спасибо.
РЕДАКТИРОВАТЬ:
Метод выводит список определений, в то время как я вывод только строка. Итак, я создал список для хранения всех определений. И я повторил его, чтобы вывести их.
Вот код, чтобы создать список и вывести его:
String str = jTextField1.getText();
List<WordDefinition> definitions = new ArrayList<WordDefinition>(Arrays.asList(define(str)));
for (int i=0; i< definitions.size(); i++){
System.out.println(Arrays.deepToString(definitions.get(i))); //i get an error here
}
Теперь ошибка я получаю: «несовместимые типы: WordDefinition не могут быть преобразованы в Object []»
Как я могу исправить это?
Я пробовал эту линию и все еще не работал. Какие внутренние органы вы хотите знать? – user3096716
Я предполагаю, что класс WordDefinition имеет некоторые элементы, к которым можно получить доступ. Что не сработало? – Heri
вот редактирование: я заметил, что метод define возвращает список определений. В то время как я выводил только строку. Поэтому мне нужно вывести весь список. Но я не знаю, как это сделать. – user3096716