2016-11-12 1 views
0

사용자가 단어를 입력 한 데스크톱 응용 프로그램에서 작업하고 있는데 그 정의가 표시됩니다. 이를 위해 DictService라는 웹 서비스를 사용하고 있습니다. 내 코드가 제대로 실행됩니다. 유일한 문제는 정의를 반환하지 않는다는 것입니다. 사용자가 단어를 쓰는 경우데스크톱 응용 프로그램 용 WSDL 웹 서비스

은 "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]"

저는이 문제를 해결하는 방법을 모릅니다. 도움을 주시면 대단히 감사하겠습니다. 고맙습니다.

EDIT :

있어서 I 출력 반면 단지 문자열 정의 목록을 출력한다. 그래서 모든 정의를 저장하는 목록을 만들었습니다. 그리고 출력하기 위해 반복했습니다.

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로 변환 할 수 없습니다"

내가 어떻게 할 수있는 다음

는 목록과 출력을 생성하는 코드입니다 고쳐?

답변

0

WordDefinition 클래스에는 좋은 toString() 메서드가 없습니다. 당신은 명시 적으로 반환 값의 멤버에 액세스 할 수 있습니다

System.out.println(define(str).getSomeValue()); 

내가 더 조언을 줄 수 귀하의 프레임 워크의 내부를 알 수 없기 때문에.

+0

나는 그 라인을 시도했지만 여전히 작동하지 않았다. 어떤 내부 구조를 알고 싶습니까? – user3096716

+0

WordDefinition 클래스에 액세스 할 수있는 멤버가 있다고 가정합니다. 무엇이 효과가 없었습니까? – Heri

+0

여기 편집은 다음과 같습니다. define 메서드가 정의 목록을 반환합니다. 반면 난 단지 문자열을 출력합니다. 그래서 전체 목록을 출력해야합니다. 그러나 나는 그것을 어떻게하는지 모른다. – user3096716

관련 문제