GroovyWS是一个在内部使用CXF的框架。我想提出如下请求:
<param2 xsi:type="ns2:Map">
<item xsi:type="ns2:Map">
<key xsi:type="xsd:string">param1</key>
<value xsi:type="xsd:string">param2</value>
</item>
</param2>目前,我正尝试通过grails服务来实现这一点,如下所示:
def proxy = new WSClient("http://xyz", this.class.classLoader)
proxy.initialize()
proxy.client.invoke("call", new HashMap<String, String>())这给了我们
javax.xml.bind.JAXBException
class java.util.HashMap nor any of its super class is known to this context.我甚至尝试了and东西,但没有让它工作。
发布于 2012-08-12 15:54:53
好吧,我已经有一段时间没有做这样的事情了,但我似乎记得CXF生成的客户端有一个名为"create“的方法,类似于:
def mapObject = proxy.create( "ns2.Map" );试一试,看看mapObject是否有您期望的方法或成员。
发布于 2012-08-14 18:24:49
这是一个使用JAXB的known issue
潜在的问题是您的模式是不明确的。
有两种解决方案:
Java使用名称空间将任何ambiguity
https://stackoverflow.com/questions/11853457
复制相似问题