wsimport đã xong. Lời gọi SOAP vẫn cần proxy.
Tách việc sinh WSDL, lấy WSDL lúc chạy và gọi SOAP khi cấu hình truy cập JAX-WS qua proxy.
WSDL đã được tải về, các lớp Java đã được sinh ra, và lời gọi SOAP đầu tiên vẫn không ra được khỏi mạng. Tùy chọn proxy mà bộ sinh dùng thuộc về chính quá trình chạy của bộ sinh.
Tài liệu tham chiếu wsimport của Oracle JDK 8 ghi nhận một tùy chọn proxy HTTP cho công cụ đó. Đó không phải là chỉ dẫn di động được nhúng vào các lớp dịch vụ sinh ra. Một ứng dụng chạy sau này có thể chạy trong JVM khác, dưới tài khoản khác và với một bản triển khai JAX-WS khác.
Xác định yêu cầu nào đã thất bại
| Giai đoạn | Quy trình hoặc thành phần cần kiểm tra |
|---|---|
| Sinh lớp từ WSDL và các import | Công cụ build hoặc lời gọi wsimport |
| Đọc WSDL khi dựng dịch vụ | Vị trí WSDL của ứng dụng và client lúc chạy |
| Gọi điểm cuối SOAP | Transport lúc chạy đã chọn và cấu hình proxy của nó |
Giai đoạn giữa dễ bị bỏ sót. Dịch vụ được sinh ra có thể vẫn trỏ tới một WSDL từ xa. Nếu lúc chạy phải lấy nó trong khi dựng, thì việc cấu hình cổng chỉ sau đó là quá muộn cho lần tải trước đó. Đóng gói mô tả mong muốn như một tài nguyên của ứng dụng có thể loại bỏ phụ thuộc lấy về đó ở nơi bản triển khai hỗ trợ.
Một lớp tên là ClientProxyFeature từ một bản triển khai không tự động là phần của mọi nhà cung cấp JAX-WS.
Giữ thông tin xác thực của proxy tách khỏi thông tin xác thực của dịch vụ SOAP. Một lần tải WSDL thành công thậm chí có thể là ẩn danh trong khi điểm cuối thao tác yêu cầu đăng nhập, hoặc ngược lại.
Ghi lại URL đã thất bại và điểm mà việc dựng hoặc lời gọi dừng lại. Điều đó thường chỉ ra cấu hình còn thiếu thuộc về đâu, mà không cần thử sinh lại đúng những lớp đó.