首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAX-WS WS服务的JSON输出?

JAX-WS WS服务的JSON输出?
EN

Stack Overflow用户
提问于 2014-09-04 16:21:45
回答 2查看 5.3K关注 0票数 4

jax-ws soap-webservice是否可以输出json格式而不是xml格式

代码语言:javascript
复制
@Component
@WebService
public class HRSService {

    @WebMethod
    public String test(String value) {
        return value; //returned as XML. JSON possible?
    }
}
EN

回答 2

Stack Overflow用户

发布于 2015-09-05 09:39:58

显然,按照https://jax-ws-commons.java.net/json/ (Archive version)上的说明进行操作是可能的

总结:

代码语言:javascript
复制
@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";
    }
}

你只需要在你的WEB-INF/lib中使用jaxws-json.jar就可以了。

我希望它能有所帮助!

票数 5
EN

Stack Overflow用户

发布于 2016-04-14 12:32:39

已经很晚了。我最近又回到了Java编程,但对于那些将来要访问这个页面的人来说。JAXWS metro文档中的示例只能在javascript中使用。我将以下内容与JSONObject结合使用:

代码语言:javascript
复制
@WebServiceProvider
@ServiceMode(value = Service.Mode.MESSAGE)
@BindingType(value=HTTPBinding.HTTP_BINDING)

然后实现Provider(DataSource),如示例所示:

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25660582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档