2012-10-31 2 views
0

문자열이 거의없는 객체와 다른 문자열 배열을 반환하려고합니다. 이유가 있습니다. 내가 가지고있는 문제는 SoapUI로 메서드를 테스트 할 때 문자열 만 얻는다는 것입니다. 문자열의 배열이 완전히 누락 된 것 같습니다. 내가 잘못하고있는 어떤 단서?Java 웹 서비스를 통해 배열을 반환하는 데 문제가 발생했습니다.

public EmailListing getEmailListing(int id) { 
    EmailListing el = new EmailListing(); 
    try { 
    // get data from the database 
    // ... 
    // 
    while(rs.next()) { 
     el.type = rs.getString("type"); 
     el.category = rs.getString("category"); 
     el.setEmailList(rs.getString("emaillist")); 
    } 
    } catch(...) { 
    ... 
    } 
    return el; 
} 

나는이 서비스를 테스트 할 때 내가 볼 수있는 유일한 정보, 그래도 : 내 클래스는이 클래스를 사용하는 웹 서비스 기능에서

public class EmailListing { 
    public String type; 
    public String category; 
    public String[] emails; 

    public EmailListing() { 
    emails = new String[1]; 
    } 

    public void setEmailList(String emaillist) { 
    this.emails = emaillist.split("\\|"); 
    } 
} 

, 나는 다음을 수행 ... 다음과 같이 보입니다 , 유형 및 카테고리입니다. :(

편집 :.

Emails 
    [email protected] 
    [email protected] 

편집 : 받았다 추가 SOAP 메시지

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <soapenv:Body> 
    <getEmailListingResponse xmlns="http://services.test.com"> 
     <getEmailListingReturn> 
     <type>data</type> 
     <category>data</category> 
     </getEmailListingReturn> 
    </getEmailListingResponse> 
    </soapenv:Body> 
</soapenv:Envelope> 
+0

귀하의 이메일 배열에는 하나 이상의 요소가 포함되지 않습니다. EmailListing 클래스의 생성자를 살펴보십시오. 당신이 반환되는 것에 대한 예제를 게시한다면 그것은 매우 도움이 될 것입니다. 웹 서비스의 함수가 반환되고 EmailListing이 수행됩니까? – ChadNC

+0

내가 돌아 오는 비누 메시지를 추가하겠습니다. – Tyler

+0

웹 서비스는 다른 것으로 래핑되지 않은 EmailListing 만 반환합니다. 클라이언트 코드가 있습니까? – ChadNC

답변

0

인쇄 서버 측 출력 결과 방법

public void print() { 
    StringBuffer sb = new StringBuffer(); 
    sb.append("Emails\n"); 
    for(int i = 0; i < emails.length; i++) { 
    sb.append(" " + emails[i] + "\n"); 
    } 
    System.out.println(sb.toString()); 
} 

출력처럼 보인다 그것을 디버그하고 실제로 "emailList"를 얻는 지 확인하십시오, 만약 당신이 아마도 그것을 잘못 나눠 놓을 것이기 때문에 당신의 c 오드는 나에게 잘 어울린다.

+0

오브젝트 서버 측의 내용을 인쇄합니다. 데이터가 클라이언트 측에서 요구할 때가 아닙니다. – Tyler

0

정확히 어떻게 EmailListing가 보이나요? 내 생각에 당신은 XmlTypeAdapter의 일종을 만들어야 할 것입니다.

관련 문제