2010-01-26 27 views
10

Tôi đang tạo WSDL từ một lớp Java bằng cách sử dụng chú thích @WebService và chạy wsgen, được kích hoạt bởi mục tiêu xây dựng Maven.Sử dụng tên tham số phương thức khi tạo WSDL từ Java bằng wsgen và maven?

Vấn đề tôi có là WSDL được tạo sẽ xác định tham số cho hoạt động dịch vụ web dưới dạng arg0, ar1, arg2, v.v ... thay vì sử dụng tên tham số từ mã. Những tên này không hữu ích cho khách hàng của dịch vụ cố gắng tìm ra những gì cần phải được thông qua.

Có cách nào để nói wsgen lấy và sử dụng tên tham số từ phương pháp - hoặc bằng cách đặt chú thích trên phương pháp hoặc một tham số được gửi đến wsgen?

Cảm ơn!

Trả lời

15

Sử dụng chú thích @WebParam.

@WebMethod 
public void thisMethodHasAWebParam(@WebParam(name="param1") String arg1) { 
} 
+0

Tôi biết phải có cách dễ dàng để thực hiện việc này. Cám ơn rất nhiều! – Vinnie

+3

Điều đó có hiệu quả. Nhưng điều này không phải là dư thừa khủng khiếp? Tôi biết rằng chữ ký phương thức trong mã byte không bảo toàn tên tham số, nhưng không thể công cụ cũng xem xét mã nguồn? – Thilo

+1

Cách nó có thể xem xét mã nguồn, vì nó sử dụng URL tệp WSDL khi tạo mã. Và tệp WSDL được tạo ra khi chạy. –

Các vấn đề liên quan