.net call WS-Security с поддержкой веб-службы (созданной в Java) - PullRequest
0 голосов
/ 26 января 2010

Как вызвать веб-сервис (созданный в java) с защитой ws, они предоставили файл сертификата, имя пользователя и пароль, я пытался использовать Web Services Enhancements (WSE) 3.0, Унаследовал прокси службы от Microsoft.Web.Services3.WebServicesClientProtocol использованный логин пароль токен

  UsernameToken tocken = new UsernameToken("uname", "pwd");
  Service.RequestSoapContext.Security.Tokens.Add(tocken);

получил ошибку «Базовое соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL / TLS.»

Это из-за сертификата клиента? Я также попробовал

 X509Certificate xCert = new X509Certificate();
  xCert = X509Certificate.CreateFromCertFile("certificate_path.cer");
  Service.ClientCertificates.Add(xCert);

1 Ответ

0 голосов
/ 28 января 2010

Я решил проблему из-за проблемы с проверкой сертификата ssl, использовал

 UsernameToken token = new UsernameToken("uname", "pwd", PasswordOption.SendPlainText);
 Service.RequestSoapContext.Security.Tokens.Add(token);
 System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();           


    public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
            {
                public TrustAllCertificatePolicy()
                { }

                public bool CheckValidationResult(ServicePoint sp,
                 X509Certificate cert, WebRequest req, int problem)
                {

                    return true;
                }
            }
...