WSO2 ESB - класс обратного вызова пароля Rampart - WSPasswordCallback не может быть приведен - PullRequest
0 голосов
/ 25 декабря 2018

Я хочу вызвать защищенную внутреннюю службу в WSO2 ESB 5.0.0 с конфигурацией rampart и Класс обратного вызова пароля

package com.yenlo.wso2.services;
import org.apache.ws.security.WSPasswordCallback;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import java.io.IOException;

public class PWCBHandler implements CallbackHandler {

public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    WSPasswordCallback pc = (WSPasswordCallback) callbacks[0]; 

    // set the password for our message.
    pc.setPassword("YENLO_TEST");       

   }
}

Когда я вызываю службу прокси, возникает эта ошибка:

org.apache.ws.security.WSPasswordCallback cannot be cast to org.apache.ws.security.WSPasswordCallback

Я скомпилировал исходный код с помощью wss4j 1.6.17 и 1.5.12.Ничего не изменилось.

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Я создал новый проект callbackhandler с нуля и заставил его работать с несколькими sidenodes: - Я использовал следующую зависимость в основном pom.xml:

<dependency>
    <groupId>org.apache.ws.security</groupId>
    <artifactId>wss4j</artifactId>
    <version>1.5.11</version>
</dependency>

Я поместил получившийся результат'.jar' в репозитории / components / lib.Также я удалил .jar из репозитория / components / dropins при повторном развертывании, чтобы быть уверенным (ESB создает файл там во время запуска при обработке .jar)

Я поместил весь проект здесь .Сборка с использованием 'mvn clean package'.

Удачи!Я бы хотел получить ответ, если вам это удалось!

0 голосов
/ 26 декабря 2018

Взгляните на доступную версию wss4j в папке "wso2esb-5.0.0 / repository / components / plugins".Похоже, вы используете другую версию во время компиляции, что может привести к такого рода проблемы.

Попробуйте использовать wss4j со следующей версией зависимости при компиляции.

version=1.5.11.wso2v14
groupId=org.apache.ws.security.wso2
artifactId=wss4j
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...