Tôi có triển khai webservice được tạo bằng wsimport từ WSDL. Dịch vụ này được triển khai trong một máy chủ Tomcat trong một webapp mùa xuân. Các tập tin cấu hình mùa xuân (chỉ phần webservice) là như thế nàyLàm cách nào để thay đổi xà phòng được tạo tự động: địa chỉ từ một WSDL webservice JAX-WS được triển khai với Spring
<wss:binding url="/fooService">
<wss:service>
<ws:service bean="#fooService">
</wss:service>
</wss:binding>
Khi tôi triển khai ứng dụng web này trong tomcat, tôi có thể nhận được WSDL nếu tôi đi đến
http://localhost:8080/foo/fooService?wsdl
và xà phòng wsdl: Địa chỉ tài sản là như thế này:
<service name="FooService">
<port name="FooService" binding="tns:FooServiceBinding">
<soap:address location="http://localhost:8080/foo/fooService"/>
</port>
</service>
Và bây giờ, tất cả đều ổn.
Vấn đề là trong sản xuất, chúng tôi có máy chủ web Apache và máy chủ này chuyển hướng các yêu cầu tới Tomcat. Nó cũng hoạt động, nhưng khi chúng ta nhận được WSDL, địa chỉ soap: vẫn là localhost: 8080 và chúng ta cần đây là url công khai cho webservice.
Bất kỳ ý tưởng nào?
Cảm ơn bạn rất nhiều.
xin vui lòng có thể cho tôi biết những gì tiêu đề schema xml mùa xuân của bạn là để đáp ứng mùa xuân bắt buộc đối với cảng và xà phòng trong đoạn mã của bạn ở trên để đăng ký địa chỉ tùy chỉnh thiết bị đầu cuối và cổng. Tôi đã thử http://jax-ws.dev.java.net/spring/core, servlet và phương tiện truyền thông địa phương nhưng không ai trong số họ tham chiếu đến chúng. Kết quả là, tôi nhận được saxparserexceptions. Không thể tìm thấy câu trả lời dễ dàng. Cảm ơn trước vì đã hỗ trợ. – arcseldon
doh! ok, bạn đang tham khảo tập tin wsdl ở đây. xin lỗi, tôi đang tìm cách ghi đè địa chỉ điểm cuối trong cấu hình. – arcseldon