複数のXSDスキーマを持つSpringブートプロジェクトがあります(Spring-WSを使用しています)。SpringのPayloadValidatingInterceptorで複数のXSDスキーマを検証する方法
私がSpringのPayloadValidatingInterceptorを使用して要求と応答を検証すると、最新の設定済みスキーマでのみ動作します。例えば
:
public void addInterceptors(List<EndpointInterceptor> interceptors) {
PayloadValidatingInterceptor validatingInterceptor = new PayloadValidatingInterceptor();
validatingInterceptor.setValidateRequest(true);
validatingInterceptor.setValidateResponse(true);
validatingInterceptor.setXsdSchema(getFirstSchema());
validatingInterceptor.setXsdSchema(getSecondSchema());
interceptors.add(validatingInterceptor);
super.addInterceptors(interceptors);
}
このスニペットは、春にはまず、唯一の2番目のスキーマを検証するためではないでしょう。私は複数のPayloadValidatingInterceptorsを作成してsuper.addInterceptors(インターセプタ)で追加しようとしましたが、どちらも機能しませんでした。私は(Javaの代わりにXMLを)見つけることができた唯一の応答は、2009年からです。
https://jira.spring.io/browse/SWS-481
誰もが同じプロジェクト内の複数のXSDからの要求と応答を検証するために、Javaベースのソリューションを知っています?
setXsdSchemaではなくsetXsdSchemaCollectionを使用してみましたか?はいの場合、何が問題になりましたか?いいえの場合は、なぜですか? –
私は試しましたが、動作しません。 setXsdSchemaを使って実装のサンプルを見つけることができませんでした。このメソッドは、XsdSchema [] getXsdSchemas()とXmlValidator createValidator()を実装するように要求しますが、createValidator()メソッドを実装する方法はわかりません。 nullを返すだけでアプリケーションが使用できなくなり、XmlValidtorをインスタンス化できなくなります。 – facundop