CXF Soap Webservices输入和输出消息作为ComplexType的一部分

时间:2013-10-21 13:40:34

标签: java web-services soap

我正在使用CXF作为我的网络服务。 我有豆

public class Document {
    private int id;
    private String name;
    private String description;
    private Date createdDate;
//....getters/setters
}

我有一个webmethod界面

@WebMethod(operationName = "SaveDocument")
Document saveDocument(@WebParam(name = "document") Document document);

是否可能,输入消息没有ID和createdDate?或者我应该制作两个2豆。一个用于输入,另一个用于响应? 喜欢

public class DocumentIn {
    private String name;
    private String description;
//....getters/setters
}

public class DocumentOut {
    private int id;
    private String name;
    private String description;
    private Date createdDate;
//....getters/setters
}

和webmethod

@WebMethod(operationName = "SaveDocument")
DocumentOut saveDocument(@WebParam(name = "document") DocumentIn document);

1 个答案:

答案 0 :(得分:0)

您可以使用与参数和结果相同的类型。只需要原始类型。如果你使用

Integer id

而不是int,可以让它为null,这意味着省略了' id' SOAP XML中的元素。

此外,如果文档相同,您只需添加' id'和' createdDate'在服务器端,您也可以使用INOUT参数,请参阅http://tomee.apache.org/examples-trunk/webservice-holder/