Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-8302

Json deserialization throws "unknown property" exception due to usage of wrong Jax-rs Provider

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Blocker
    • Resolution: Fixed
    • None
    • 18.0.0
    • BSM
    • None
    • BSM - Sprint 5, BSM - Sprint 6

    Description

      It is currently not possible to use the BusinessServiceRestService ("/business-services") REST API with Json.

      Somehow the Rest implementation uses the JacksonJsonProvider instead of the JaxbJacksonJsonProvider. This means that all JAXB annotations (e.g. @XmlElement) are not interpreted correctly and an Excepetion is thrown while deserializing a Java Object to Json (due to missing @JsonProperty annotations).

      For now I disabled tests which try to serialize/deserialize Json objects (via Rest). Be aware that serialize/deserialize in the unmarshal tests (e.g. IpServiceResponseDTOMarshalTest) works just fine.

      To reproduce this issue navigate to the class BusinessServiceRestServiceIT and uncomment the lines which send Json formatted data to the Rest Service Implementation, e.g.

       sendData(POST, MediaType.APPLICATION_JSON, "/business-services", toJson(toRequestDto(bs)), 201);
      

      Both Xml and Json should work.

      Attachments

        Activity

          People

            j-white Jesse White
            mvr Markus von RĂ¼den
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: