gpt4 book ai didi

java - 将 JAXB 注释类用于 JAXWS 服务

转载 作者:数据小太阳 更新时间:2023-10-29 02:46:11 25 4
gpt4 key购买 nike

我有一个像这样工作的网络服务:

@WebService(serviceName = "TempService")
public class TempService {
@WebMethod(operationName = "addBarkod")
public Boolean addBarkod(@WebParam(name = "barkod") Barkod barkod) {
System.out.println(barkod.getBarkodNo());
}
}

Barkod 类为:

public class Barkod {
private String barkodNo;
// there are constructors and getters, setters etc. nothing fancy //
}

有了这个结构,我的 web 服务可以用 soapUI 调用而不会出现问题。问题是当我想用 JAXB 注释来注释我的模型类时:

@XmlType(name="barkod")
@XmlRootElement(name="barkod")
@XmlAccessorType(XmlAccessType.FIELD)

我可以将其部署到 glassfish 3.1,soapUI 会生成具有新结构的新客户端请求,但是当涉及到执行“barkod.getBarkodNo();”时在 addBarkod 操作中它抛出 NullPointerException。我看起来像我发送到 Web 服务的 XML 没有创建正确的 Barkod 对象。

我是否与网络服务类有关?

最佳答案

我认为问题是因为 soapUI 从我的 WSDL 自动生成请求。当我用不带 namespace 子句的@XmlRootElement 注释我的类时,它不会将给定的 XML 映射到可能的对象。我分配 @XmlRootElemen(namespace="") 并且我的问题消失了。

无论如何感谢您的回复。

关于java - 将 JAXB 注释类用于 JAXWS 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10106449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com