Tôi vừa đụng phải một bức tường gạch khổng lồ với Paypal. Tôi đã tạo một dự án C # thông thường để tạo một số lớp trình bao bọc bằng WSDL của chúng.
Nếu bạn tạo một dự án không phải web, tùy chọn duy nhất bạn có để thêm wsdl là Tham chiếu Dịch vụ Web. Và điều này xây dựng giống như một tập hợp các lớp proxy giống như Tham chiếu web nhưng không thực sự ... nó bổ sung thêm nhiều thứ mà ngay cả những kẻ PayPal cũng không biết.
Vì vậy, tôi đã dành toàn bộ thời gian để tìm Giao diện phù hợp trong danh sách các lớp proxy này để sử dụng làm dịch vụ (SoapBinding) và giao diện PayPalAPIAASoapBinding
không có ở đó, tôi đã liên tục nói với điểm liên hệ PayPal của chúng tôi.
Tôi chỉ có thể thấy 2 Giao diện sau đây xuất hiện cho tôi những gì tôi cần sử dụng vì tôi không thấy giao diện PayPalAPIAASoapBinding
mà bạn CÓ THỂ thấy trong tài liệu tham khảo dịch vụ dựa trên Tham chiếu Web:
PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient
Vì vậy, tôi đã tìm ra ồ, có lẽ tôi đã tạo Tham chiếu Dịch vụ so với Tham chiếu Web mà Tham chiếu Web là một tùy chọn trong một dự án Web. Nhưng tôi không muốn tham chiếu dịch vụ của mình kết hợp chặt chẽ với dự án web của mình. Vì vậy, đó là lý do tại sao tôi tạo Dự án C #.
Vậy tham chiếu dịch vụ so với tham chiếu web là cái quái gì? Và làm thế nào tôi có thể tách điều này ra thành dự án bao phấn nếu Tham chiếu Dịch vụ sẽ khiến tôi phải lặp lại và cung cấp cho tôi một tập hợp các giao diện khác với Tham chiếu Web?
Ngoài ra, để làm cho mọi thứ trở nên khó hiểu hơn, VS 2008 có một dự án Ứng dụng Dịch vụ Web.
Vậy tôi dùng cái gì? Chúng tôi đang sử dụng khung .NET 3.5 và chúng tôi chưa sẵn sàng chuyển sang WCF . Vì vậy, tôi vẫn có thể sử dụng Tham chiếu Dịch vụ mới ngay cả khi không sử dụng WCF hay sao? NẾU bạn đang sử dụng .NET 3.5 và chưa WCF và bạn vẫn muốn thực hiện các dịch vụ web cơ bản, bạn vẫn sử dụng tuyến tham chiếu dịch vụ và chỉ không sử dụng khuôn khổ WCF? Có nghĩa là nó vẫn có thể được sử dụng như một Tham chiếu Web .NET 2.0, chỉ là bạn sẽ nhận được một thế hệ WSDL hoàn toàn khác?