Java 6 提供 `Endpoint.publish()` API 級發布,但生產環境需隨容器啟動自動發布,無法像 Axis2/XFire 直接集成。採用 Servlet 橋接方案。
public class WSServlet extends GenericServlet {
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
Endpoint.publish("https://192.168.14.117:8888/java6ws/Java6WS", new Java6WS());
}
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// 僅用於發布,不處理業務
}
}<load-on-startup>1</load-on-startup> 確保容器啟動即加載 Servlet,觸發服務發布。啟動 Tomcat,訪問服務地址獲取 WSDL 成功。發布本質均為調用 `Endpoint.publish()`,該方法啟動後台線程持續監聽,容器關閉時自動停止。亦可整合 Spring IOC 實現發布,核心原理不變。