簡體   English   中英

將JAXB注釋類用於JAXWS服務

[英]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服務類或其他什么?

我認為問題是因為s​​oapUI從我的WSDL自動生成請求。 當我使用沒有namespace子句的@XmlRootElement注釋我的類時,它不會將給定的XML映射到may對象。 我分配@XmlRootElemen(namespace =“”),我的問題就消失了。

無論如何,謝謝你的回應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM