Tôi gặp sự cố khi gọi một yêu cầu dịch vụ web trong C#.Trước khi xác thực yêu cầu dịch vụ web trong C#
Dịch vụ và yêu cầu đang hoạt động tốt trong giao diện người dùng Soap với tùy chọn 'Authenticate Preemptively' được bật (File, Preferences, HTTP Settings). Nếu không có cài đặt này, dịch vụ sẽ trả về 'Java.Lang.NullPointerException'.
Sự cố tôi gặp phải là tôi không biết cách bật cài đặt này trong ngữ cảnh C#.
Tôi có thư viện lớp .NET 3.5 có chứa tham chiếu dịch vụ được gọi là dịch vụ cụ thể. Đây là một đoạn mã đơn giản;
try
{
CatalogService.CatalogChangeClient service = new CatalogService.CatalogChangeClient();
service.ClientCredentials.UserName.UserName = "fancydress";
service.ClientCredentials.UserName.Password = "47fda9cb4b51a9e";
service.ClientCredentials.SupportInteractive = true;
ProductUpdate[] products = new ProductUpdate[1];
products[0] = new ProductUpdate();
products[0].ProductCode = "00001";
products[0].ProductDescription = "TestProduct";
string result = service.UpdateProducts(products);
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
}
Cập nhật sau trả lời đầu tiên.
Lớp CatalogService.CatalogChangeClient dường như để thực hiện các abstract class WCF
System.ServiceModel.ClientBase<TChannel>
End Cập nhật
bất cứ ai có thể giúp tôi thiết lập thuộc tính này?
xin hiển thị mã hơn đặc biệt. giao diện 'CatalogService.CatalogChangeClient' thực hiện – Yahia
Có vẻ như đang triển khai lớp System.ServiceModel.ClientBase từ WCF: lớp công khai một phần CatalogChangeClient: System.ServiceModel.ClientBase, Fancydress. ResourceAccess.MCSF.CatalogService.CatalogChange –
Từ những gì tôi thu thập này là một vấn đề trong việc thực hiện .NET nó sẽ gửi yêu cầu và chỉ khi nó nhận được 401 từ các dịch vụ gửi lại với Credentials ... Java WebService của bạn dường như không gửi 401 - mặc dù trước tiên bạn phải xác nhận rằng thực sự là trường hợp (tức là WireShark) ... NẾU đó là trường hợp: để phá vỡ điều này, tôi nghi ngờ bạn sẽ phải sử dụng một máy khách khác (proxy) có thể bị "lừa" để gửi thông tin đăng nhập luôn luôn ... – Yahia