Tôi mới dùng cả WSE và WCF và tôi đang cố gắng sử dụng dịch vụ web bằng WCF nhưng tất cả tài liệu ví dụ là dành cho VS2005 + WSE. Dịch vụ web này sử dụng WS-Security 1.0. Tôi đã thêm một tài liệu tham khảo dịch vụ thông qua visual studio nhưng tôi lúng túng về cách làm việc tương đương với mã dưới đây vào WCF:Chuyển đổi mã ví dụ WSE thành WCF
// 1. Initialize the web service proxy
PartnerAPIWse integrationFramework = new PartnerAPIWse();
// 2. Set the username/password. This is using the Username token of WS-Security 1.0
UsernameTokenProvider utp = new UsernameTokenProvider("username", "password");
integrationFramework.SetClientCredential<UsernameToken>(utp.GetToken());
// 3. Declare the policy
Policy policy = new Policy(new UsernameOverTransportAssertion());
integrationFramework.SetPolicy(policy);
Để tham khảo trong tương lai: WSE đã lỗi thời. Tất cả phát triển dịch vụ web mới nên được thực hiện bằng WCF và mã WSE sẽ được gỡ bỏ ASAP. –
Một số công ty có khoản đầu tư lớn vào WSE. Nó không phải luôn luôn là một quyết định âm thanh thương mại để từ bỏ một thế hệ công nghệ cụ thể bởi vì các nhà cung cấp đã đặt một cái gì đó mới ra ngoài. –
Câu hỏi và câu trả lời này hữu ích; tuy nhiên, trong một số trường hợp, tiêu đề bảo mật kết quả thiếu "nonce" và các phần tử/thuộc tính quan trọng khác. Câu hỏi và câu trả lời sau giải quyết vấn đề này: http://stackoverflow.com/questions/3102693/error-in-wcf-client-consuming-axis-2-web-service-with-ws-security-usernametoken-p – Brett