Клиент .NET, вызывающий веб-сервис HTTPS Java - PullRequest
3 голосов
/ 14 октября 2010

У меня есть веб-служба HTTPS Java, я пытаюсь получить доступ к веб-службе с помощью .NET [клиент / WCF в стиле .NET 2.0].Я получаю эту ошибку от WS.

"HTTP Status 401 - Для этого запроса требуется HTTP-аутентификация ()."

Как узнать, какой тип безопасности имеет этот WS?Помимо SSL, у меня есть имя пользователя и пароль для отправки его в WS, я считаю, что это часть аутентификации сообщений.

Java-клиент, похоже, успешно общается, и у него мало интересных строк,

        System.setProperty("javax.net.ssl.keyStorePassword", new String(jsseKeyStorePassword));
        System.setProperty("javax.net.ssl.trustStorePassword", new String(jsseTrustStorePassword));

----------------------------------------------

  BindingProvider bindingProvider = (BindingProvider) port;
        bindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username);
        bindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, new String(password));

Буду признателен за любую помощь.

Ответы [ 2 ]

2 голосов
/ 19 октября 2010

Короче говоря, две проблемы, которые мне пришлось решить,

  1. HTTP Status 401 - Этот запрос требует HTTP-аутентификации ()

    Изменена схема аутентификации наБазовое в VS генерируется обычное связывание в app.config

  2. HTTP / 1.1 505 HTTP-версия не поддерживается

    Удалить Ожидается: 100продолжить заголовок SOAP.Добавьте эту строку ServicePointManager.Expect100Continue = false;.Для получения подробной информации о проблеме, перейдите сюда

Длинная история здесь http://www.irasenthil.com/2010/10/wcf-client-to-java-web-service.html

0 голосов
/ 14 октября 2010

Кажется, что для Java WS требуется сервер и корневой сертификат, хранящиеся в нескольких хранилищах ключей.Для получения сертификатов требуется знание паролей к этим хранилищам ключей, которые, по-видимому, доступны в переменных jsseKeyStorePassword и jsseTrustStorePassword.

Кроме того, следует использовать по крайней мере .NET Framework 3.0 вЧтобы использовать Windows Communication Foundation.

...