Thường có hai cách để đối phó với các dịch vụ web. Một, như bạn đã đề cập, sử dụng URL dịch vụ web ../service.asmx. Bằng cách này, bạn chỉ cần sử dụng "Thêm tham chiếu web" trong dự án studio trực quan và bạn luôn được kết nối với dịch vụ web trực tiếp. Điều này dễ dàng hơn nhiều, nhược điểm là nếu dịch vụ web quyết định thay đổi thứ gì đó, bạn cũng cần thay đổi tham chiếu của mình. Biên dịch lại dự án và triển khai lại.
Khi bạn giữ một bản sao cục bộ của tệp wsdl, nếu chúng đưa vào trường bắt buộc trong WSDL trực tiếp, bạn vẫn được bảo vệ miễn là cơ sở mã cơ bản vẫn hoạt động với nó. Nếu bạn tự tạo lớp proxy.cs, như trong câu trả lời được chấp nhận, nó chỉ hoạt động như thêm nó thông qua studio trực quan, ngoại trừ việc bạn phải thêm lớp đó vào dự án theo cách thủ công.
Ngoài ra, tôi tin rằng bạn có thể nhận được toàn bộ url dịch vụ web từ <soap:address location="http://testsite.com/test.asmx" />
trong tệp WSDL. Thông thường, không nên sử dụng tệp WSDL cục bộ nếu ý định của bạn là cập nhật mọi thay đổi. Tôi nghi ngờ bạn sẽ có vấn đề đó vì nó là một dịch vụ web fedex, có lẽ đã đứng qua thử thách của thời gian.
Nguồn
2011-07-06 18:50:18
Tôi nghĩ bạn nên tạo một _client_ từ WSDL đó trực tiếp, không phải là Máy chủ trước. Và lệnh này dường như đang tạo một Client. Bạn sẽ gần như hoàn thành (-: –