как исправить несанкционированную ошибку 401. Я получил ошибку после введения учетных данных - PullRequest
0 голосов
/ 06 февраля 2020
I'm getting unauthorized error when trying to access the endpoint.(Please see logs below)

RepositoryContent.retrieveContentByteArray resource.getRepository() Before Change === ****
RepositoryContent.retrieveContentByteArray 1
RepositoryContent.retrieveContentByteArray credentials.getUsername() = ****
RepositoryContent.retrieveContentByteArray credentials.getPassword() = ****
RepositoryContent.retrieveContentByteArray resource.getRepository().toString().toLowerCase() = ****
RepositoryContent.retrieveContentByteArray 3
RepositoryContent.retrieveContentByteArray 4
RepositoryContent.retrieveContentByteArray 5
RepositoryContent.register RegistryURL = http://mylink:3001/services/core/runtime/RegistryService
RepositoryContent.register context.getLocale() = null
RepositoryContent.register context.getToken() = null
RepositoryContent.register context.getIdentities() = *****
RepositoryContent.register context.getProfiles() = null
RepositoryContent.register context.getRuntimeProperties() = null
RepositoryContent.register RegistryControl.getEndpoint()() = 



http://mylink:3001/services/core/runtime/RegistryService
   AxisFault
   faultCode: {http://xml.apache.org/axis/}HTTP
   faultSubcode: 
   faultString: (401)Unauthorized
   faultActor: 
   faultNode: 
   faultDetail: 
    {}:return code:  401

У меня есть одноэлементный класс, который конфигурирует конечные точки службы и учетные данные безопасности (см. Ниже)

    private RepositoryContent() {

    ServiceControlHelper.configureEndPoint(contextRegistryControl, "endpoint");

    credentials = ServiceControlHelper.configureEndPoint(queryServiceControl, "endpoint");
            ServiceControlHelper.configureEndPoint(objectServiceControl, "endpoint");
        }

И он внедряет то же самое в заголовок идентификатора

RepositoryIdentity[] identities = new RepositoryIdentity[1];
identities[0] = new RepositoryIdentity(credentials.getUsername(), credentials.getPassword(),
resource.getRepository().toString().toLowerCase(), "");
ServiceContext context = new ServiceContext();
context.setIdentities(identities);

Я протестировал сервис в soap пользовательском интерфейсе, и он не работает, когда мы добавляем авторизацию заголовка.

...