我有一个java客户端,它使用axis2和rampart发送带有ws-security信封的soa消息。由于这是Identity Manager连接器的一部分,因此我需要以编程方式完成所有操作,无法获得配置文件。
我正在连接的网络服务,只检查用户,但密码必须发送空白(这不是我的限制,我不能让他们改变它。)
我有一个回调处理程序,只接受一个字符串并将其作为密码返回。如果传递密码,这工作正常。但是如果我传递一个空字符串“”,我会得到一个带有消息的异常:
org.apache.axis2.AxisFault:用户的回调处理程序没有提供密码:“”
在ws-security标头中,我需要提供类似这样的内容:
为myuser
如果Option对象中有一些属性,或者某些策略我可以修改为让axis2允许空字符串作为密码?
我尝试使用UsernameToken对象的setNoPassword(true)方法,这允许这种情况发生,但是删除了整个密码标记,即标题是:
为myuser
但是当实现这个WS时,我需要以空的形式发送密码令牌。
提前致谢。