[英]Using JAXB annotated class for a JAXWS service
我有一個像這樣工作的網絡服務:
@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 //
}
使用這種結構,我可以使用soapUI調用我的Web服務,而不會出現問題。 問題是當我想用JAXB注釋注釋我的模型類時:
@XmlType(name="barkod")
@XmlRootElement(name="barkod")
@XmlAccessorType(XmlAccessType.FIELD)
我可以將它部署到glassfish 3.1並且soapUI使用新結構生成新的客戶端請求但是當涉及到“barkod.getBarkodNo();”時 在addBarkod操作中,它拋出一個NullPointerException。 我看起來像我發送到Web服務的XML不會創建一個適當的Barkod對象。
我是否需要使用Web服務類或其他什么?
我認為問題是因為soapUI從我的WSDL自動生成請求。 當我使用沒有namespace子句的@XmlRootElement注釋我的類時,它不會將給定的XML映射到may對象。 我分配@XmlRootElemen(namespace =“”),我的問題就消失了。
無論如何,謝謝你的回應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.