2012-07-02 17 views
8

Cách tạo List<Type> thay vì ArrayOf {Type}? Ví dụ phương thức hoàn trảWSDL2Java. Apache CXF. ArrayOf {Type} vào Danh sách <Type>

[WebMethod] 
public List<long> GetSimple() 

WSDL2Java sẽ tạo ra:

public ru.test.ws.ArrayOfLong GetSimple(); 

ArrayOfLong:

@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(name = "ArrayOfLong", propOrder = { 
    "_long" 
}) 
public class ArrayOfLong 
    implements Serializable 
{ 
    @XmlElement(name = "long", type = Long.class) 
    protected List<Long> _long; 

    public List<Long> getLong() { 
     if (_long == null) { 
      _long = new ArrayList<Long>(); 
     } 
     return this._long; 
    } 
} 

Làm thế nào để cấu hình CXF và JAXB sử dụng List<Long> thay ArrayOfLong?

+0

Bạn đã tìm thấy giải pháp chưa? Tôi đang đối mặt với cùng một vấn đề –

Trả lời

2

2 điều:

1) đảm bảo <jxb:globalBindings collectionType="indexed"/>không tồn tại. Nó sẽ biến tất cả các bộ sưu tập thành mảng.

2) cố gắng để buộc các loại với @WebResult chú thích

Hope this helps.