用户名令牌验证错误
Username Token Validation Error
我正在开发一个使用从 a 生成的 CXF SoapMessage 的项目
细绳。我正在尝试使用用户名令牌验证但它抛出
NullPointerException.
这是我使用的源代码[1]。我将 SOAP 消息 [2] 作为
字符串到 initiateComplianceCheck 方法,然后将其转换为 CXF SoapMessage 对象并将其用于用户名令牌身份验证。
[1] https://gist.github.com/anonymous/bfb6f65194a030a50681af175a9937f5
[2]https://gist.github.com/anonymous/f704db6147e02acdff323dc67ccff6d6
但是 CXF handleMessage 给出了 NullPointerException
这是抛出的错误信息的一部分
java.lang.NullPointerException at
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterc
eptor.java:165)
如果你能帮我解决这个问题,我将不胜感激
NPE是因为SoapMessage上没有设置Message Exchange。您可以在代码中添加以下内容:
Exchange ex = new ExchangeImpl();
ex.setInMessage(message);
示例:
顺便说一句,我在示例中使用的 wsse 名称空间来自一个非常
旧标准,不会工作。应该是 xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd”
相反。
我正在开发一个使用从 a 生成的 CXF SoapMessage 的项目 细绳。我正在尝试使用用户名令牌验证但它抛出 NullPointerException.
这是我使用的源代码[1]。我将 SOAP 消息 [2] 作为 字符串到 initiateComplianceCheck 方法,然后将其转换为 CXF SoapMessage 对象并将其用于用户名令牌身份验证。
[1] https://gist.github.com/anonymous/bfb6f65194a030a50681af175a9937f5
[2]https://gist.github.com/anonymous/f704db6147e02acdff323dc67ccff6d6
但是 CXF handleMessage 给出了 NullPointerException
这是抛出的错误信息的一部分
java.lang.NullPointerException at
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterc
eptor.java:165)
如果你能帮我解决这个问题,我将不胜感激
NPE是因为SoapMessage上没有设置Message Exchange。您可以在代码中添加以下内容:
Exchange ex = new ExchangeImpl();
ex.setInMessage(message);
示例:
顺便说一句,我在示例中使用的 wsse 名称空间来自一个非常 旧标准,不会工作。应该是 xmlns:wsse=" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd” 相反。