2011-06-01 23 views
6

Khi thử một ví dụ Hello World đơn giản về dịch vụ web chỉ với một @Endpoint lớp chú thích, điểm cuối không được đăng ký khi sử dụng <sws:annotation-driven/> không gian tên.Mùa xuân 3 (SWS2): sự khác biệt giữa <context: component-scan> và <sws: annotation-driven>

Tuy nhiên, bằng cách thêm thông thường <context:component-scan>, mọi thứ hoạt động tốt, lớp Endpoint-class được đăng ký chính xác. Điều này chỉ đúng với chú thích @Endpoint, tất cả các chú thích khác (@RequestPayload, @ResponsePayload, @PayloadRoot) sẽ được đăng ký theo không gian tên sws như mong đợi.

Nếu chú thích @Endpoint cũng không được xử lý theo không gian tên này?

<beans> 
    <!-- works for all annotations except @Endpoint --> 
    <sws:annotation-driven/> 

    <!-- when activated, @Endpoint is registered correctly <context:component-scan/> --> 
</beans> 
+0

Bạn có thể cho tôi biết địa chỉ để ví dụ này? Tôi đang gặp khó khăn trong việc tìm kiếm hướng dẫn tốt về Spring WS 2. – Jaanus

Trả lời

3

Đây là lỗi SWS đã biết: https://jira.springsource.org/browse/SWS-702.

+0

Tôi thấy báo cáo lỗi này, nhưng nhận xét của Arjen vào ngày 19 tháng 5 dường như cho tôi biết một lỗi khác - điểm cuối của tôi không thực hiện bất kỳ giao diện nào, cũng như tôi không sử dụng proxy (ít nhất là cố ý). – Ice09

2

Còn bây giờ sử dụng cả hai như trong:

<context:component-scan base-package="com.coral.project.endpoints"/> 

<sws:annotation-driven marshaller="marshaller" unmarshaller="marshaller"/> 

này thấy cả @Endpoint và @ PayloadRoot, @ ResponsePayload chú thích. Đây là cách họ nói với bạn để làm điều đó trong mùa xuân-WS tham khảo:

http://static.springsource.org/spring-ws/sites/2.0/reference/html/tutorial.html#tutorial.implementing.endpoint

+0

Đúng, tuy nhiên có nói: ... chúng tôi cũng hướng dẫn Spring-WS sử dụng các điểm cuối chú thích, với phần tử ... vì vậy tôi hiểu rằng ngữ cảnh: cmp-scan chỉ được sử dụng để đăng ký thành phần "bên ngoài" tên miền sws. – Ice09

+0

Vì vậy, đây có phải là lỗi hoặc thiết kế không? Tôi có cùng một vấn đề và câu trả lời này giải quyết nó. Nó không phải là cách này trong các ví dụ Pivotal có trong tài liệu mùa xuân của họ. [Xem 5.4. Phần thiết bị đầu cuối] (http://docs.spring.io/spring-ws/site/reference/html/server.html) – gaoagong

+0

và bạn có thể giải thích cho tôi nơi bộ sưu tập marhaller này được đặt không? – hudi

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