我在NetBeans 7.2中工作。我使用JAXB绑定从xml创建了类Laptop,然后我从这个项目创建了jar并将其添加到Web服务库 - 我想使用Laptop类中的函数作为Web服务中的函数。 在Web服务客户端中,某些类是通过ws中的函数自动生成的,例如getall(),它返回笔记本电脑列表。
@WebMethod
public List<Laptop> getAll() {
return l.getAll();
}
除了Web服务客户端中的GetAll.java类之外,还生成了GetAllResponse.java类,其中包含Return类 - 返回与Laptop类相同 - 只有名称不同。 因此,Web服务客户端中的每个类,都是从返回笔记本电脑或笔记本电脑列表的函数生成的,并且在名称“Response”中包含类Return(使用@WebResult(name =“Laptop”),名称可以更改从返回笔记本电脑)
@WebMethod
@WebResult(name="Laptop")
public Laptop getById(int id) {
return l.getById(id);
}
在几个地方实现笔记本电脑我遇到了返回客户端的命名空间的问题。 如下图所示,预期对象为:DAO.client.Laptop但发送DAO.client.GetByIdResponse.Laptop。我应该更改为在客户端中只有一个Laptop实现或避免返回对象类型的歧义?
Pict1:命名空间问题 http://imageshack.us/photo/my-images/208/47894110.jpg/
Pict2:Laptop.java在几个地方 http://imageshack.us/photo/my-images/534/24881074.png/