0

いくつかのメソッドを持つWebサービスがあり、各メソッドには独自の応答と要求(POJOクラス)があります。

XSDファイルをユーザーに配布したいので、JAXBを使用してスキーマファイルを生成することにしました。

私の問題は、個別のファイル(サービスごとに1つ)が欲しいということです!!

JAXBを試しましたが、取得するのはすべてのオブジェクトを含む大きなXSDだけです

4

1 に答える 1

1

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;
                }
            }
        }
    });
}
于 2012-06-26T15:34:28.093 に答える