0

我在 Tomcat 上用 Metro 编写了一个 SOAP 服务。它工作正常,但课程没有全部返回。

我有一个类 ServiceReport 与其他类有关系。这是代码:

@Entity
@Table( name = "ALBAU_SERVICEREPORT" )
public class ServiceReport extends StoredEntity<ServiceReport> {

   @ManyToOne( targetEntity = AlbauInstallation.class, cascade = CascadeType.PERSIST )
   @XmlTransient
   private AlbauInstallation installation;

   @OneToOne( cascade = CascadeType.ALL )
   private FlexDocument flexDocumentData;

   //   private Header headerData;
   @OneToMany( cascade = CascadeType.ALL,
               fetch = FetchType.EAGER,
               targetEntity = Position.class,
               mappedBy = "serviceReport" )
   private List<Position> positionList;

在 WSDL 中创建的唯一属性是 flexDocumentData。为了在生成的界面中同时拥有 AlbauInstallation 和 positionList,我需要哪些注释?

这是 WSDL 的链接:http ://alpha.sertal.ch:8181/VisionWeb/soap/AlbauInterface?wsdl

看起来 OneToOne 关系已通过,而其他关系则没有

4

1 回答 1

0

在这种情况下,解决方案似乎非常简单:

在课堂上Position,我将 ManyToOne 注释更改如下: 形式:

@ManyToOne
private ServiceReport serviceReport;

到:

@ManyToOne(targetEntity = ServiceReport.class)
private ServiceReport serviceReport;

需要的第二个更改是添加一个setterfor 职位。我不知道为什么但没有设置器,该属性不会出现在 WSDL 中。

现在我得到了 WSDL 中的集合

于 2012-05-20T11:48:50.823 回答