基于对象的javawebservice
我正在使用web服务,我想把它提高一个档次。我将Axis2与JAX-WS一起使用。我正在考虑传输对象,而不是基于对象的javawebservice,java,web-services,jaxb,jax-ws,axis2,Java,Web Services,Jaxb,Jax Ws,Axis2,我正在使用web服务,我想把它提高一个档次。我将Axis2与JAX-WS一起使用。我正在考虑传输对象,而不是String[]。在我搜索了一下之后,我发现JAXB是实现这一点的正确支持 然而,每当我想添加一个需要传输的modelclass时,我都需要做大量的工作(闭嘴所有可能出错的注释)。所以我觉得把它抽象一点比较容易 我正在考虑使用对象类型创建web服务。然后,我可以使用如下方法:addObject(Object Object),removeObject(Object Object),retri
String[]
。在我搜索了一下之后,我发现JAXB是实现这一点的正确支持
然而,每当我想添加一个需要传输的modelclass时,我都需要做大量的工作(闭嘴所有可能出错的注释)。所以我觉得把它抽象一点比较容易
我正在考虑使用对象
类型创建web服务。然后,我可以使用如下方法:addObject(Object Object)
,removeObject(Object Object)
,retrieveObject()
。这意味着我的服务器需要处理输入对象。若我随后添加一个新的模型类,我只需要在服务器端捕获它。我的客户机将需要包括导致一些冗余的模型类,但我同意这一点。我觉得Java目前无法支持我的想法。至少是JAX-WS和JAXB技术
你们能告诉我这是对的还是错的,这是不是一个好主意,如果是的话,也许能为我指出解决这个问题的正确方向(即使这意味着使用另一种技术)
提前谢谢 您的客户机不需要模型类型,但当您从服务器向客户机发送消息时,必须序列化和反序列化数据。我不确定JAX-WS是否与JAX-RS不同,但如果它们相同,那么您可以添加注释来标记是否要生成/使用json或xml 一旦您将模型序列化为json,您的客户机读取数据就不会有问题 此外,您还可以在创建请求和响应对象时使用对象。在我最近编写的一个Web服务中,我创建了一个与此类似的服务响应类
public class Response
{
private Object data;
private boolean success;
public Response()
{
super();
}
//write getters and setters here
}
我认为我使用对象类的方式与您的想法类似 我绝对推荐您使用JAX-RS(实现JAXB),特别是使用Jersey框架。它的用法很简单,允许您整理和取消整理业务对象 看看这个
希望有帮助 netbeans有一个向导,可以为您创建模型类。通常,最好为您的Web服务创建类型化的域模型。用于创建采购订单的WS采用
PurchaseOrder
的实例,而find customer调用返回customer
的实例。通过类型化参数和返回值,可以生成良好的WSDL,使用户可以更轻松地与您的服务进行交互。请您进一步解释一下模型类,以及为什么使用它们需要大量工作?模型类需要大量工作,从某种意义上说,您无法将它们作为普通Java类编写。如果您可以使用一种抽象层(对象类型),那么就可以对类进行即插即用。您只需要将另外几行代码右转就可以捕获新类。这样,无论技能水平如何,都可以更轻松地与多人一起编程。感谢您提供的信息!如果在请求和响应对象中使用对象,则可能仍然需要序列化和反序列化数据。。我想通过将我的模型类(或其更简单的版本)复制粘贴到客户端来避免这种情况。@Tankske您将不得不序列化和反序列化您发送的数据,无论发生什么情况。