Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-3320

wsdl2js generated code fails to parse a Java Map<String, String> property

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.2.4, 2.2.12, 2.3.2
    • None
    • Windows XP SP3 Pro English, JDK 1.6.0.20, Aegis, CXF on server side is 2.2.4

    Description

      I'm using Apache CXF to expose a Java object through SOAP 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. I'm also using aegis

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            rgieze Robbie Gieze

            Dates

              Created:
              Updated:

              Slack

                Issue deployment