2011-03-23 70 views
2

我正在用jaxws開發webservices,所以我通過wsgen從帶註釋的java類生成wsdl和xsd文件。 我正在尋找在服務器端通過註釋@XmlElement(required = true)標記爲需要的參數的自動驗證的可能性。驗證所需參數的可能性?

我發現的全部是@SchemaValidation。但是這不符合問題。

該類的文檔說:「根據XML模式驗證WebService的所有請求和響應消息有效負載(SOAP:Body)。」

但很明顯,不包括required檢查。

有什麼想法?

+1

您是否考慮過使用jsr-303 bean驗證,它會要求您添加更多批註,但它會將解組與驗證分離開來,我認爲這更加靈活。 – ekeren 2011-03-24 15:25:46

回答

2

在標準JAXB中,只有在從代碼生成XML Schema文檔時纔會使用required屬性XmlElement。它在運行時不用於數據驗證。

如果要執行聲明性數據驗證,則需要使用模式驗證。我不確定你爲什麼抵制這種功能 - 它比任何基於Java的約束都強大得多。

+0

我正在用jaxws開發webservices。 (因此我只設置了jaxws標籤。)所以wsdl和xsd文件將通過wsgen生成。我需要的是所需參數不爲null。 – 2011-03-23 12:46:19

+1

@Michael:JAX-WS使用JAXB來執行其XML綁定和驗證。 – skaffman 2011-03-23 13:03:16

+0

好的。那麼,我需要做些什麼來獲得我的NotNull驗證? – 2011-03-23 13:16:42