Как отправить запрос на публикацию в Spring MVC Controller с помощью JAXB - PullRequest
0 голосов
/ 06 мая 2019

Здравствуйте, ребята, кто-нибудь может мне помочь с тем, как отправить запрос на публикацию в Spring MVC Controller с использованием JAXB, я попробовал код ниже и получил эту ошибку:

org.jboss.resteasy.spi.InternalServerErrorException: Bad arguments passed to public java.lang.Object com.hraccess.jaxrs.resteasy.service.ServiceInfoRubis.ValidateInteresEnParties(java.lang.String,com.hraccess.jaxrs.resteasy.model.EntryZYX5)  ( java.lang.String 7pjgQK5yhjQAvAe3Xpk07LktJxZR8yOXwLeNdPQtn60bNNWQBV2yjX07rOBkPbj8, org.jboss.resteasy.spi.BadRequestException org.jboss.resteasy.spi.BadRequestException: Could not find message body reader for type: class com.hraccess.jaxrs.resteasy.model.EntryZYX5 of content type: application/x-www-form-urlencoded )

В этой части я отправляю запрос моему контроллеру MVC:

System.setProperty("javax.xml.bind.context.factory","org.eclipse.persistence.jaxb.JAXBContextFactory");
        JAXBContext jaxbContext = null;
        Reponse listInterPart = new Reponse();

        try {

            String host = env.getProperty("standard.webservices.url.services");
          //  String soccleMatcle_host = soccleMatcle.substring(0, 10);
            String url = host + "/ServiceInfoRubis/validate_int_parties/" + vsid;
            logger.info("Appel du webservice spécifique, url : " + url);




            //String ss = new String("");
            jaxbContext = JAXBContext.newInstance(EntryZYX5.class);
            Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
            jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            java.io.StringWriter sw = new StringWriter();
            jaxbMarshaller.marshal(data, sw);


            StringEntity params = new StringEntity(sw.toString());

            Map<String, String> mapHeader = new HashMap<String, String>();
            mapHeader.put("Accept-Language", "fr-FR");
            mapHeader.put("Accept", "application/json; charset=UTF-8");

            HttpResponse response = httpSerivce.post(mapHeader, url, params);



            StringBuffer result = new StringBuffer();
            if (response != null) {
                BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));

                String line = "";
                while ((line = rd.readLine()) != null) {
                    result.append(line);
                }
            }

и вот мой контроллер:

@POST
    @Path("/validate_int_parties/{vsid}")
    @Produces({"application/json; charset=UTF-8", "application/xml; charset=UTF-8"})
    @RequestWrapper
    public Object ValidateInteresEnParties(@PathParam("vsid") String vsid , @RequestBody EntryZYX5 data) {

        IntersPart ii = new IntersPart();
        ii.setFlag07("1");
    /

        return null;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...