2012-05-11 68 views
0

我已經在Tomcat上編寫了一個包含Metro的SOAP服務。它工作正常,但班級沒有全部返回。在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關係傳遞和其他人不

回答

0

在這種情況下,看來該解決方案是非常簡單:

在類Position我改變ManyToOne註釋如下: 形式:

@ManyToOne 
private ServiceReport serviceReport; 

到:

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

了所需的第二個變化,就是增加一個setter的位置。我不知道爲什麼,但沒有setter,這個屬性就不會出現在WSDL中。

現在我得到WSDL中的集合