2011-07-08 23 views
2

我正在使用JAX-WS和JAXB開發SOAP應用程序。我想爲其中一個字段指定一個模式約束(荷蘭郵政編碼,\d{4}[A-Z]{2})。使用xsd:pattern很容易,但我找不到相應的JAXB註釋。我如何實現這一目標?如何使用JAXB註釋指定模式約束?

回答

2

你不能。我們的想法是將JAXB註釋與對模式的運行時驗證結合使用,使用javax.xml.validation.Schema,它可以插入MarshallerUnmarshaller

+0

+1 - @Sietse更多信息結帳:http://bdoughan.blogspot.com/2010/12/jaxb-and-marshalunmarshal-schema.html –

+1

+1,因爲它回答了這個問題。不幸的是,它不能解決我的問題。如果我有一個模式並希望從中創建Java類,這將起作用。但是如果我有Java類並想從中生成一個模式(在這種情況下,包含在WSDL中)呢?我想,我會創建一個不同的問題。 – Sietse

+1

@Sieste - 您可以使用JAXB來創建一個XML架構(http://wiki.eclipse.org/EclipseLink/Examples/MOXy/JAXB/GenerateSchema),然後添加架構約束。並用skaffman提出的策略來使用這個模式。 –