WebLogic 12c ( OpenJPA 2.1.0を使用) で Web サービスを実行する際に問題があります。Web サービスの応答は、特定のエンティティのリストを持つ DTO です。サービスを実行した後、その応答を生成できませんでした (エラーまたは例外なし)。MOXy の応答エンティティのアンマーシャリング操作中に問題があると思います (MOXy を使用しないため、WebLogic 11 では問題はありませんでした)。この問題と解決策についてどう思いますか?
ありがとう
この Web サービスは、GlassFish 3.1.2 でうまく機能します。
これが私のコードです:
個人エンティティ
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "person")
@Entity
@Table(name = "PERSON")
public class Person {
@Id
@Column(name = "ID")
@XmlElement(required = false)
private Long id;
@Column(name = "BIRTHDATE")
@XmlElement(required = false)
@Temporal(TemporalType.DATE)
private Date birthDate;
@Transient
private String name;
個人DTO
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "personDto")
public class PersonDto implements Serializable{
@XmlElement(required = false)
List<Person> persons;
/**
* list of person
*
* @return
*/
public List<Person> getPersons() {
if (persons == null)
persons = new LinkedList<Person>();
return persons;
}
public void setpersons(List<Person> persons) {
this.persons = persons;
}
ダオ
@Stateless
public class PersonDaoImpl implements PersonDao{
@PersistenceContext(unitName = "pu-test")
private EntityManager em;
public List<Person> findAll() {
List<Person> personList = null;
Query query = em.createNamedQuery("person.findAll");
List<Person> results = (List<Person>)query.getResultList();
return results;
}
orm.xml
<named-query name="person.findAll">
<query>select p from Person p</query>
</named-query>
ウェブサービス
@Stateless
@WebService
public class PersonServiceImpl implements IPersonService {
@EJB
private PersonDao personDao;
public PersonDto allPersons() {
PersonDto result = new PersonDto();
List<Person> fList = personDao.findAll();
result.setPersons(fList);
return result;
}
リストのサイズは 3 ですが、応答はありません。