2013-06-25 39 views
5

Tôi đang tạo các lớp java từ nhiều tệp wsdl. Công trinh. Tuy nhiên, tôi muốn cung cấp tệp wsdl thích hợp trong chú thích @WebServiceClient. Trong thuộc tính wsdlLocation, tôi mong đợi đường dẫn thư mục được nối với tên tệp riêng biệt. Ví dụ. /myDir/myWsdl-1.wsdl cho webservice đầu tiên. Tuy nhiên, wsdlLocation chỉ được điền bằng "/ myDir" - không có tên dịch vụ. Làm cách nào để cung cấp tên đó cho mỗi wsdl?Cách tạo và bao gồm các lớp Java và nhiều WSDL cho một cái bình

@WebServiceClient(name = "myService", targetNamespace = "http://mycompany.com/services/", wsdlLocation = "/myDir") 

Dưới đây là hướng dẫn của tôi:

<wsdlLocation>/myDir</wsdlLocation> 
<wsdlDirectory>src/main/resources/myDir</wsdlDirectory> 
<wsdlFiles> 
    <wsdlFile>myWsdl-1.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-2.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-3.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-4.wsdl</wsdlFile> 
</wsdlFiles> 

gì nhét chú ý của tôi?

Cảm ơn mọi gợi ý. Feder.

+0

Thêm/* vào giá trị wsdLocation không giúp ích gì. 'Nó báo cáo tệp ràng buộc bên ngoài (s) không thể bị ràng buộc với nhiều tệp WSDL (/ myDir/*) Vui lòng sử dụng hoặc các ràng buộc nội tuyến hoặc nhiều thẻ thực thi.' – feder

Trả lời

5

Ok. Người ta có thể sử dụng đường dẫn, sau đó là dấu gạch chéo và dấu sao để tạo các lớp cho các tệp WSDL biến đổi. Ví dụ.

<wsdlLocation>/myDir/*</wsdlLocation> 

Tuy nhiên, trong trường hợp này, bạn không thể áp dụng ràng buộc.

<bindingDirectory>src/main/binding</bindingDirectory> 

Nếu bạn cần áp dụng ràng buộc cho từng WSDL, thì bạn phải lặp lại khối thực thi của plugin hoặc áp dụng liên kết wsdl-inline. Xem này discussion for inline-binding.

Hy vọng điều này cũng giúp người khác.

0

Tôi nghĩ bạn đang thiếu <wsdlFiles> yếu tố kèm theo danh sách các yếu tố <wsdlFile>. Cần phải như sau:

<wsdlDirectory>src/main/resources/myDir</wsdlDirectory> 
<wsdlFiles> 
    <wsdlFile>myWsdl-1.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-2.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-3.wsdl</wsdlFile> 
    <wsdlFile>myWsdl-4.wsdl</wsdlFile> 
</wsdlFiles> 
+0

Ví dụ cách sử dụng' 'có thể được tìm thấy tại đây: https://jax-ws-commons.java.net/jaxws-maven-plugin/wsimport-mojo.html#wsdlLocation – TrueCurry

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