Служба мыла WCF с использованием Spring WS - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь использовать мыльный сервис wcf, используя spring-ws. Но я сталкиваюсь с приведенной ниже ошибкой при попытке получить доступ к сервису. Хотя учетные данные верны.

org.springframework.ws.soap.client.SoapFaultClientException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Хотя тот же сервисработает, когда я пытаюсь использовать приложение .NET.

Я могу найти разницу в механизме аутентификации между двумя способами, как показано ниже

Аутентификация Java:

Authorization: NTLM {GeneratedAuthorizationToken}

.NET Authentication

Authorization: Negotiate {GeneratedAuthorizationToken}

Я настроил свой WebServiceTemplate, как показано ниже

public HttpComponentsMessageSender httpComponentsMessageSender() {
        HttpComponentsMessageSender httpComponentsMessageSender = new HttpComponentsMessageSender();
        CredentialsProvider credsProvider  = new BasicCredentialsProvider();
        credsProvider.setCredentials(AuthScope.ANY,
                new NTCredentials("MyUserName", "MyPassword", null, "MyDomain"));
        httpComponentsMessageSender.setCredentials(credsProvider.getCredentials(AuthScope.ANY));
        return httpComponentsMessageSender;
    }

    WebServiceTemplate webServiceTemplate = new WebServiceTemplate(marshaller, marshaller);
    webServiceTemplate.setMessageSender(httpComponentsMessageSender());

Любое предложение / идея, чтобы избавиться от этой ошибки

...