2014-03-19 41 views
0

使用最新版的Apache CXF 2.7.10并获得运行时异常时:CXF运行时异常铸造对象地图

java.lang.ClassCastException:java.lang.String中不能转换到 java.util中。地图在 org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.setSoapAction(SoapPreProtocolOutInterceptor.java:111)

我检查了代码,发现这个类型转换。消息是Map<String, Object>

(Map<?, ?>)message.get(Message.PROTOCOL_HEADERS)

在该代码中出现一个糟糕的假设一个对象始终是一个地图。

我现在正在寻找这方面的工作,所以我会继续追溯。 与此同时;熟悉CXF的人都知道为什么从Message.get()返回的Object是一个String而不是Map?

回答

0

PROTOCOL_HEADERS值对象应该是可以用作HTTP标头的映射。

您必须对PROTOCOL_HEADERS的消息上下文进行一些更改。