-
-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue caused by MSV shading #103
Comments
Hmmmh. Shoot. Yes, this is unfortunate. I am not quite sure how to resolve this... I'll have to look into this later today if I find time. Thank you for reporting it. |
Ok so leaving But be that as it may, I think there are 2 options that could be done:
Of these, (2) feels sort of wrong (but looks like something similar was already done in "loadSchemas()"?) but could be done without changes to Woodstox. Adds more processing overhead. I would be happy to do (1) if we could figure out what such intermediate form could be. WDYT? |
Would a "modified copy" of the W3CMultiSchemaFactory directly into Woodstox work for (1)? Looking at it, there are basically 3 classes. The W3CMultiSchemaFactory itself, the ResolvingGrammarReaderController, and the EmbeddedSchema. The EmbeddedSchema could just be a javax.transform.Source object (and we'd use DOMSource). The ResolvingGrammarReaderController could easily be a private class of W3CMultiSchemaFactory. |
I'll let @coheigea comment on whether this would work CXF (I certainly hope so). |
@cowtowncoder Yes, it works for CXF. We will probably alter the existing CXF implementation along the lines in the PR, and then use reflection to determine if the current version of Woodstox has the class or not, falling back to the CXF version if not. That way we should be able to work with Woodstox 6.2 as well as versions < Woodstox 6. Corresponding CXF PR: https://github.com/apache/cxf/pull/588/files |
Ok sounds good. I also have |
Agreed, I think it's not necessary to backport to 5.3. |
Merged, released as 6.2.0 along with other 2 fixes. Usually would have given bit more time to test but feeling anxious to get this out and then proceed with Jackson 2.11.0. |
Thanks @cowtowncoder |
Apache CXF currently uses Woodstox 5.3.0. However, we've run into a problem in looking into upgrading to Woodstox 6.x, due to the MSV shading. We have a MSV BaseSchemaFactory implementation here:
https://github.com/apache/cxf/blob/cff773f4f750b7bdc3f955c1a5b1b5f4a311dd71/core/src/main/java/org/apache/cxf/staxutils/validation/W3CMultiSchemaFactory.java
This won't work with Woodstox 6.x, as the Woodstox W3CSchema class now takes the shaded MSV XMLSchemaGrammar in the constructor. I can change all references to MSV to the shaded version. However then CXF won't work with older versions of Woodstox, which might be a problem in some projects that use both CXF and an older Woodstox version.
Is there a way around this that doesn't involve completely porting W3CSchema and all associated dependencies to CXF to avoid uses the shaded package name?
The text was updated successfully, but these errors were encountered: