Ошибка имени пользователя с несколькими поддерживающими токенами WSDL в Apache CFX/STSClientApache

Ответить
Anonymous
 Ошибка имени пользователя с несколькими поддерживающими токенами WSDL в Apache CFX/STSClient

Сообщение Anonymous »

У меня есть следующая часть службы STS-WSDL: Итак, служба STS-WSDL поддерживает несколько типов соединений, и я хочу использовать второй через X509Token/Certificate.
Я настроил STSClient следующим образом:

Код: Выделить всё

@Test
void stsTest() throws Exception {
var stsClient = new STSClient(bus);

stsClient.setWsdlLocation("classpath:STS.wsdl");
stsClient.setServiceQName(new QName(NAMESPACE, STS_SERVICE_NAME));
stsClient.setEndpointQName(new QName(NAMESPACE, STS_ENDPOINT_NAME));

stsClient.setSendRenewing(false);
stsClient.setSendKeyType(false);

var crypto = new Merlin();
crypto.setKeyStore(createInMemoryKeyStore());
stsClient.getProperties().put(SecurityConstants.SIGNATURE_USERNAME, "username");
stsClient.getProperties().put(SecurityConstants.SIGNATURE_CRYPTO, crypto);
stsClient.getProperties().put(SecurityConstants.CALLBACK_HANDLER, (CallbackHandler) callbacks -> {
for (Callback callback : callbacks) {
if (callback instanceof WSPasswordCallback) {
WSPasswordCallback pc = (WSPasswordCallback) callback;
pc.setPassword("password123");
}
}
});

stsClient.getOutInterceptors().add(createLoggingOutInterceptor());
stsClient.requestSecurityToken();
}
Но я всегда получаю следующую ошибку:

Код: Выделить всё

org.apache.cxf.interceptor.Fault: No username available
Если я изменю SecurityConstants.SIGNATURE_USERNAME -> SecurityConstants.USERNAME в свойствах sts - это работает, но я получу другой тип запроса, чем тот, который я решил использовать UsernameToken.
Можно ли как-то настроить STSClient для использования X509Token? Если я удалю UsernameToken из SupportedTokens - все будет работать нормально, но мне не хотелось бы менять WSDL, потому что он не мой.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -stsclient
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»