GroovyWS is a framework which is internally using CXF. I want to make a request as follows:
<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>
Currently I am trying to do this from a grails service as following:
def proxy = new WSClient("http://xyz", this.class.classLoader)
proxy.initialize()
proxy.client.invoke("call", new HashMap<String, String>())
Which gives
javax.xml.bind.JAXBException
class java.util.HashMap nor any of its super class is known to this context.
I even tried [:] and stuff but do not get it working.
Well, it's been a while since I did something like this, but I seem to remember that CXF-generated clients had a method called "create", similar to:
def mapObject = proxy.create( "ns2.Map" );
Give that a try and see if the mapObject has the methods or members you're expecting.
This is a known issue with using JAXB
The underlying problem is that your schema is ambiguous.
There are two solutions:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With