Hello,
I'm using Apache CXF to expose a Java object which has the following property:
private Map<String,String> constraintParams;
This gives me a correct WSDL file and I can use the SOAP method with no
problems from tools like SOAPUI.
But I want to use the SOAP service from javascript. So I use the wsdl2js tool
of CXF and it generates a .js file. When I use the javascript file it fails to
parse the SOAP response from the server.
The SOAP XML part that the javascript code fails to deserialize looks like this:
<ns3:constraintParams>
<ns1:entry>
<ns1:key>regex</ns1:key>
<ns1:value>^.+$</ns1:value>
</ns1:entry>
</ns3:constraintParams>
It seems like the generated js code tries to deserialize the <entry> tag but
the wsdl2js generator didn't actually generate that function, so the code of
the generator is calling a function that it didn't generate. The following line
in the js gives a "services_systemcontrol_mydomain_com__entry_deserialize" is
not defined" error.
arrayItem =
services_systemcontrol_mydomain_com__entry_deserialize(cxfjsutils, curElement);
At this moment the curElement property has the <entry> tag but the deserialize
function simply is not in the generated js file.
Do I do anything wrong or is there another way that does work that I could look
into?
On the server side I'm using 2.2.4, I tested the wsdl2js tool of versions
2.2.4, 2.2.12, 2.3.2 the result is always as above.
Thanks
Robbie