JSON output of a JAX-WS webservice?

后端 未结 2 1712
抹茶落季
抹茶落季 2020-12-18 09:30

Is it possible that a jax-ws soap-webservice can output json format instead of xml?

@Component
@WebServic         


        
2条回答
  •  生来不讨喜
    2020-12-18 10:10

    This is late. I recently returned to programming in Java, but for those who will be visiting this page in the future. The example in the JAXWS metro documents works only in javascript. I used the following together with JSONObject:

    @WebServiceProvider
    @ServiceMode(value = Service.Mode.MESSAGE)
    @BindingType(value=HTTPBinding.HTTP_BINDING)
    

    then implement Provider(DataSource), as in example:

    public class clazz implements Provider
    { ...
    
        @Override
        public DataSource invoke(DataSource arg)
        { 
            ...
            String emsg = "Request Parameter Error.";
            String sret = create_error_response(emsg);
    
            return getDataSource(sret);
        }
    }
    
    private DataSource getDataSource(String sret)
    {
        ByteArrayDataSource ds = new ByteArrayDataSource(sret.getBytes(), "application/json");
        return ds;
    }
    
    public String create_error_response(String msg)
    {
        JSONObject json = new JSONObject();
        json.put("success", new Boolean(false));
        json.put("message", msg);
        return json.toString();
    }
    

提交回复
热议问题