0

いくつかの文字列と別の文字列の配列を持つオブジェクトを返そうとしています (これには理由があります、約束します)。私が抱えている問題は、SoapUI でメソッドをテストすると、文字列しか得られないことです。文字列の配列が完全に欠落しているようです。私が間違っていることの手がかりはありますか?私のクラスは次のようになります...

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("\\|");
  }
}

このクラスを使用する Web サービス関数では、次のことを行います。

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 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());
}

出力は次のようになります。

Emails
  XXXXX@gmail.com
  XXXXXXX@gmail.com

編集:受信した石鹸メッセージを追加

<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>
4

2 に答える 2

0

デバッグして、実際に「emailList」を取得しているかどうかを確認します。そうであれば、コードが適切に見えるため、分割が間違っている可能性があります。

于 2012-10-31T15:05:48.177 に答える
0

正確にはEmailListingどのように見えますか?私の最善の推測は、ある種のXmlTypeAdapterを作成する必要があるということです。

于 2013-03-17T22:15:54.017 に答える