WSO2 ESB - Rampart 密码回调 class - 无法投射 WSPasswordCallback
WSO2 ESB - Rampart Password Callback class - WSPasswordCallback cannot be cast
我想在 WSO2 ESB 5.0.0 中使用 rampart 配置和 Password Callback class
调用安全后端服务
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 编译了我的源代码。什么都没有改变。
查看 "wso2esb-5.0.0/repository/components/plugins" 文件夹中可用的 wss4j 版本。看起来您在编译时使用了不同的版本,这可能会导致此类问题。
编译时尽量使用以下依赖版本的wss4j。
version=1.5.11.wso2v14
groupId=org.apache.ws.security.wso2
artifactId=wss4j
我从头开始创建了一个新的 callbackhandler 项目,并让它与几个 sidenodes 一起工作:
- 我在主要 pom.xml:
中使用了以下依赖项
<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.5.11</version>
</dependency>
我将生成的“.jar”放入 repository/components/lib。此外,我在重新部署时从 repository/components/dropins 中删除了 .jar 以确保(ESB 在启动期间处理 .jar 时在那里创建一个文件)
我把整个项目都放在了here。使用 'mvn clean package' 构建。
祝你好运!如果你成功了,我想收到回复!
我想在 WSO2 ESB 5.0.0 中使用 rampart 配置和 Password Callback class
调用安全后端服务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 编译了我的源代码。什么都没有改变。
查看 "wso2esb-5.0.0/repository/components/plugins" 文件夹中可用的 wss4j 版本。看起来您在编译时使用了不同的版本,这可能会导致此类问题。
编译时尽量使用以下依赖版本的wss4j。
version=1.5.11.wso2v14
groupId=org.apache.ws.security.wso2
artifactId=wss4j
我从头开始创建了一个新的 callbackhandler 项目,并让它与几个 sidenodes 一起工作: - 我在主要 pom.xml:
中使用了以下依赖项<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>1.5.11</version>
</dependency>
我将生成的“.jar”放入 repository/components/lib。此外,我在重新部署时从 repository/components/dropins 中删除了 .jar 以确保(ESB 在启动期间处理 .jar 时在那里创建一个文件)
我把整个项目都放在了here。使用 'mvn clean package' 构建。
祝你好运!如果你成功了,我想收到回复!