我在 NetBeans 7.2 中工作。我使用 JAXB 绑定从 xml 创建了笔记本电脑类,然后我从这个项目制作了 jar 并将其添加到 Web 服务库 - 我想使用笔记本电脑类中的函数作为 Web 服务中的函数。在 Web 服务客户端中,一些类是从 ws 中的函数自动生成的,例如 getall(),它返回笔记本电脑列表。
@WebMethod
public List<Laptop> getAll() {
return l.getAll();
}
除了 Web 服务客户端中的 GetAll.java 类之外,还生成了 GetAllResponse.java 类,其中包含内部的 Return 类 - Return 与笔记本电脑类相同 - 只是名称不同。因此,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。我应该改变什么以在客户端中只有一个笔记本电脑的实现或避免返回对象类型的歧义?
Pict1:命名空间问题 http://imageshack.us/photo/my-images/208/47894110.jpg/
Pict2:Laptop.java 在几个地方 http://imageshack.us/photo/my-images/534/24881074.png/