2012-05-11 10 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

ではありません、解決策は非常に簡単だったことが表示されます:

形式:

@ManyToOne 
private ServiceReport serviceReport; 
を次のようにクラス Position

私はManyToOneアノテーションを変更しました

に:

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

必要だった2番目の変更、位置についてsetterを追加しました。私は理由がわからないが、セッターがなければWSDLにプロパティが現れない。

今コレクションをWSDLで取得します

関連する問題