Chúng tôi đã được cung cấp một lược đồ wsdl và xsd bởi một công ty mà chúng tôi đang làm việc qua email. Các dịch vụ web chúng ta đang giao tiếp với được truy cập thông qua một đường hầm IPsec. Có các tham chiếu cục bộ (ở phần cuối của chúng) trong WSDL được công bố có nghĩa là chúng ta không thể tiêu thụ nó.Tạo ứng dụng khách dịch vụ web với một wsdl đã biết nhưng không thể truy cập được
Câu hỏi thứ nhất: Đây có phải là thiết lập chung không? Tôi nghĩ rằng điểm có một WSDL không chỉ để xác định hợp đồng mà còn để lộ dịch vụ cho người tiêu dùng.
Tôi có thể dễ dàng tạo mã khách/máy chủ khỏi WSDL được cung cấp bằng wsimport, wsconsume, v.v. Tôi biết khi nào khách hàng được tạo của tôi thực hiện cuộc gọi đến dịch vụ đã tạo của tôi, nó tạo ra thông báo chính xác mà tôi cần.
Câu hỏi thứ hai: Có cách nào dễ dàng để định tuyến địa chỉ này đến một địa chỉ xà phòng khác không?
Tôi chỉ muốn để có thể làm điều gì đó như:
SalesTaxService svc = new SalesTaxService();
SalesTax tax = svc.getSalesTaxPort()
tax.getRate("NY");
Nhưng không phải sử dụng địa chỉ xà phòng được định nghĩa trong WSDL. Tôi muốn tránh viết một loạt các khách hàng gửi cho mỗi phương pháp.
Tôi có thiếu gì đó không?
* Để phản hồi người trượt tuyết: Đây là những gì đã được tạo. Nó mặc định để wsdlLocation như một tên nhún vai
@WebServiceClient(name = "SomeService")
public class SomeService_Service extends Service {
public SomeService_Service(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public SomeService_Service(URL wsdlLocation) {
super(wsdlLocation, new QName("urn:some_service", "SomeService"));
}
}
Xem thêm http: // stackoverflow. com/a/863561/147763 –