2016-03-25 49 views
0

。通話設置像這樣的服務:的Java SOAP客戶端調用語法幫助WSDL提供

 FLRESWebServiceService service= new FLRESWebServiceService(); 
     IFLRESWebService serv = service.getPort(IFLRESWebService.class); 
     serv.wsVerifyFlResidency("userid", "pass1234", "someid", "01-01-1990"); 

收到此錯誤:

Caused by: javax.xml.bind.MarshalException: Class "pkg_flres.WsVerifyFlResidency" is known to the JAXBContext but cannot be marshalled because it is missing an @XmlRootElement annotation

我有沒有正確地調用這個服務?

編輯。這是班級,它顯然在那裏。

@XmlRootElement(name = "wsVerifyFlResidency") 
public class WsVerifyFlResidency { 

@XmlElementRef(name = "i_UserId", namespace = "http://pkg_FLRES", type = JAXBElement.class) 
protected JAXBElement<String> iUserId; 
@XmlElementRef(name = "i_Password", namespace = "http://pkg_FLRES", type = JAXBElement.class) 
protected JAXBElement<String> iPassword; 
@XmlElementRef(name = "i_DlNumber", namespace = "http://pkg_FLRES", type = JAXBElement.class) 
protected JAXBElement<String> iDlNumber; 
@XmlElementRef(name = "dob", namespace = "http://pkg_FLRES", type = JAXBElement.class) 
protected JAXBElement<String> dob; 

回答

0

是的,您正在調用服務正確。雖然WsVerifyFlResidency缺少註釋,但錯誤很明顯。 您可以檢查WsVerifyFlResidency類中是否存在以下注釋。

@XmlRootElement(name = "wsVerifyFlResidency") 

如果不嘗試添加它。

+0

我在該問題中添加了該類的一部分。它絕對在那裏。 –