[英]How to generate individual XSD files using JAXB?
我有一個帶有幾種方法的Web服務,每種方法都有自己的響應和請求(POJO類)。
我想將XSD文件分發給我的用戶,因此我決定使用JAXB生成架構文件。
我的問題是我想擁有單個文件(每個服務一個)!
我已經嘗試過JAXB,但是我得到的只是一個包含所有對象的大型XSD
當您使用JAX-WS發布Web服務時, wsdl
告訴所有事情每個客戶端的需求和范圍。
反正..說JAX-RS?
您可以使用JAXBContext#generateSchema為每個類或某些類生成較小范圍的XSD。
public void generateSchema(final Class<?> classesToBeBound,
final OutputStream schemaStream)
throws JAXBException, IOException {
final JAXBContext context = JAXBContext.newInstance(classesToBeBound);
context.generateSchema(new SchemaOutputResolver() {
public Result createOutput(final String namespaceUri,
final String suggestedFileName)
throws IOException {
return new StreamResult(schemaStream) {
@Override
public String getSystemId() {
return suggestedFileName;
}
}
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.