JAX-WS webservice 的 JSON 输出?
是否有可能用 可以输出格式 而不是 ?jax-ws
soap-webservice
json
xml
@Component
@WebService
public class HRSService {
@WebMethod
public String test(String value) {
return value; //returned as XML. JSON possible?
}
}
是否有可能用 可以输出格式 而不是 ?jax-ws
soap-webservice
json
xml
@Component
@WebService
public class HRSService {
@WebMethod
public String test(String value) {
return value; //returned as XML. JSON possible?
}
}
显然,按照 https://jax-ws-commons.java.net/json/(存档版本)中指示的说明是可能的
总结:
@BindingType(JSONBindingID.JSON_BINDING)
public class MyService {
public Book get(@WebParam(name="id") int id) {
Book b = new Book();
b.id = id;
return b;
}
public static final class Book {
public int id = 1;
public String title = "Java";
}
}
你只需要在你的工作。jaxws-json.jar
WEB-INF/lib
我希望它有帮助!
这已经很晚了。我最近又回到了Java编程,但对于那些将来会访问这个页面的人来说。JAXWS metro 文档中的示例仅适用于 javascript。我将以下内容与JSONObject一起使用:
@WebServiceProvider
@ServiceMode(value = Service.Mode.MESSAGE)
@BindingType(value=HTTPBinding.HTTP_BINDING)
然后实现 Provider(DataSource),例如:
public class clazz implements Provider<DataSource>
{ ...
@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();
}