-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Inconsistency in schema locations in spring integration 4.3.20 #2987
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
Comments
I'm afraid that we are here fully based on what Spring Core provides for us and since my colleagues in the mentioned Spring issue suggest to fix an IDE, we don't have any freedom to change anything here in this project. I'm just not sure why you say in rutime, just because Spring really resolves all the HTTPS schemas to HTTP at runtime. You might have a problem in the IDE during development, but that's fully not related to runtime. I will wait for your feedback, but keep in mind that we are going to close this as |
In my case it is not an IDE problem.
which means it tries to download the xsd by https, but cannot validate the certificate. And after that, spring loading fails
When the system is started without the javax.net.ssl.trustStrore definition it works.
So it looks like Spring fails to resolve the HTTPS prefixed locations using the xsd files from the jars |
we use spring-integration 4.3.20 (all the jars are of the same version) and spring 4.3.22 (the same) |
Can you try it with the Spring Core |
I don't have an issue with Spring Core, I just mentioned it because it is similar to the one I have with Spring Integration. |
OK. I got you.
in
in Correct me if I'm wrong, that just need to add those HTTPS entries into our Thanks |
I think so |
Thanks for confirmation, @dmitrysm2000 ! Any chance that you can provide a contribution on the matter? Thanks for understanding! I've noticed that Spring Framework since version 5.0 doesn't manage several versions for XSD. They have only one "versionless" file in the So, any thoughts about ours? |
Interesting. However, I rather like the version checking; without it, people can have mismatched integration modules (core, http, file) etc. This check detects the condition and fails fast. Without that check we can end up with weird errors. In fact, I think we should strengthen the check, in the case that they use the version-less schema (compare it to the versioned one and, if different, fail fast). Of course, most new devs use Boot so the versions are managed, but we should still consider it. I do agree that it looks like we need to add the |
Well, I'm going to fix an HTTPS issue, leaving all other concerns for the future consideration. But my opinion that in the modern world where people less and less use XML configuration, we should just don't worry about strict version matching and just do whatever is done in Spring Framework: provide only versionless XSD and map all the version-based into this last one. The mismatched integration modules bring much more byte code incompatibility issues, than just wrong XSD references... |
Fixes spring-projects#2987 To resolve XSD files properly from the classpath, their HTTPS reference must be present in the `spring.schemas` to avoid the Internet interaction for resolving an XSD file **Cherry-pick to 5.1.x, 5.0.x & 4.3.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.7.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Related to spring-projects/spring-integration#2987 * Rename the XSD file to the current version
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.1.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.1.x** # Conflicts: # src/main/resources/META-INF/spring.schemas
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.1.x** # Conflicts: # src/main/resources/META-INF/spring.schemas # Conflicts: # src/main/resources/META-INF/spring.schemas
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.1.x** # Conflicts: # src/main/resources/META-INF/spring.schemas # Conflicts: # src/main/resources/META-INF/spring.schemas
OK. I have modified as much as I could recall throughout all of our projects. |
Fixes #2987 To resolve XSD files properly from the classpath, their HTTPS reference must be present in the `spring.schemas` to avoid the Internet interaction for resolving an XSD file **Cherry-pick to 5.1.x, 5.0.x & 4.3.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.7.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.7.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 2.1.x, 2.0.x & 1.7.x**
Fixes #2987 To resolve XSD files properly from the classpath, their HTTPS reference must be present in the `spring.schemas` to avoid the Internet interaction for resolving an XSD file **Cherry-pick to 5.1.x, 5.0.x & 4.3.x** # Conflicts: # spring-integration-amqp/src/main/resources/META-INF/spring.schemas # spring-integration-core/src/main/resources/META-INF/spring.schemas # spring-integration-event/src/main/resources/META-INF/spring.schemas # spring-integration-feed/src/main/resources/META-INF/spring.schemas # spring-integration-file/src/main/resources/META-INF/spring.schemas # spring-integration-ftp/src/main/resources/META-INF/spring.schemas # spring-integration-gemfire/src/main/resources/META-INF/spring.schemas # spring-integration-groovy/src/main/resources/META-INF/spring.schemas # spring-integration-http/src/main/resources/META-INF/spring.schemas # spring-integration-ip/src/main/resources/META-INF/spring.schemas # spring-integration-jdbc/src/main/resources/META-INF/spring.schemas # spring-integration-jms/src/main/resources/META-INF/spring.schemas # spring-integration-jmx/src/main/resources/META-INF/spring.schemas # spring-integration-jpa/src/main/resources/META-INF/spring.schemas # spring-integration-mail/src/main/resources/META-INF/spring.schemas # spring-integration-mongodb/src/main/resources/META-INF/spring.schemas # spring-integration-mqtt/src/main/resources/META-INF/spring.schemas # spring-integration-redis/src/main/resources/META-INF/spring.schemas # spring-integration-rmi/src/main/resources/META-INF/spring.schemas # spring-integration-rsocket/src/main/resources/META-INF/spring.schemas # spring-integration-scripting/src/main/resources/META-INF/spring.schemas # spring-integration-security/src/main/resources/META-INF/spring.schemas # spring-integration-sftp/src/main/resources/META-INF/spring.schemas # spring-integration-stomp/src/main/resources/META-INF/spring.schemas # spring-integration-stream/src/main/resources/META-INF/spring.schemas # spring-integration-syslog/src/main/resources/META-INF/spring.schemas # spring-integration-webflux/src/main/resources/META-INF/spring.schemas # spring-integration-websocket/src/main/resources/META-INF/spring.schemas # spring-integration-ws/src/main/resources/META-INF/spring.schemas # spring-integration-xml/src/main/resources/META-INF/spring.schemas # spring-integration-xmpp/src/main/resources/META-INF/spring.schemas # spring-integration-zookeeper/src/main/resources/META-INF/spring.schemas
Fixes #2987 To resolve XSD files properly from the classpath, their HTTPS reference must be present in the `spring.schemas` to avoid the Internet interaction for resolving an XSD file **Cherry-pick to 5.1.x, 5.0.x & 4.3.x** # Conflicts: # spring-integration-amqp/src/main/resources/META-INF/spring.schemas # spring-integration-core/src/main/resources/META-INF/spring.schemas # spring-integration-event/src/main/resources/META-INF/spring.schemas # spring-integration-feed/src/main/resources/META-INF/spring.schemas # spring-integration-file/src/main/resources/META-INF/spring.schemas # spring-integration-ftp/src/main/resources/META-INF/spring.schemas # spring-integration-gemfire/src/main/resources/META-INF/spring.schemas # spring-integration-groovy/src/main/resources/META-INF/spring.schemas # spring-integration-http/src/main/resources/META-INF/spring.schemas # spring-integration-ip/src/main/resources/META-INF/spring.schemas # spring-integration-jdbc/src/main/resources/META-INF/spring.schemas # spring-integration-jms/src/main/resources/META-INF/spring.schemas # spring-integration-jmx/src/main/resources/META-INF/spring.schemas # spring-integration-jpa/src/main/resources/META-INF/spring.schemas # spring-integration-mail/src/main/resources/META-INF/spring.schemas # spring-integration-mongodb/src/main/resources/META-INF/spring.schemas # spring-integration-mqtt/src/main/resources/META-INF/spring.schemas # spring-integration-redis/src/main/resources/META-INF/spring.schemas # spring-integration-rmi/src/main/resources/META-INF/spring.schemas # spring-integration-rsocket/src/main/resources/META-INF/spring.schemas # spring-integration-scripting/src/main/resources/META-INF/spring.schemas # spring-integration-security/src/main/resources/META-INF/spring.schemas # spring-integration-sftp/src/main/resources/META-INF/spring.schemas # spring-integration-stomp/src/main/resources/META-INF/spring.schemas # spring-integration-stream/src/main/resources/META-INF/spring.schemas # spring-integration-syslog/src/main/resources/META-INF/spring.schemas # spring-integration-webflux/src/main/resources/META-INF/spring.schemas # spring-integration-websocket/src/main/resources/META-INF/spring.schemas # spring-integration-ws/src/main/resources/META-INF/spring.schemas # spring-integration-xml/src/main/resources/META-INF/spring.schemas # spring-integration-xmpp/src/main/resources/META-INF/spring.schemas # spring-integration-zookeeper/src/main/resources/META-INF/spring.schemas # Conflicts: # spring-integration-amqp/src/main/resources/META-INF/spring.schemas # spring-integration-core/src/main/resources/META-INF/spring.schemas # spring-integration-event/src/main/resources/META-INF/spring.schemas # spring-integration-feed/src/main/resources/META-INF/spring.schemas # spring-integration-file/src/main/resources/META-INF/spring.schemas # spring-integration-ftp/src/main/resources/META-INF/spring.schemas # spring-integration-gemfire/src/main/resources/META-INF/spring.schemas # spring-integration-groovy/src/main/resources/META-INF/spring.schemas # spring-integration-http/src/main/resources/META-INF/spring.schemas # spring-integration-ip/src/main/resources/META-INF/spring.schemas # spring-integration-jdbc/src/main/resources/META-INF/spring.schemas # spring-integration-jms/src/main/resources/META-INF/spring.schemas # spring-integration-jmx/src/main/resources/META-INF/spring.schemas # spring-integration-jpa/src/main/resources/META-INF/spring.schemas # spring-integration-mail/src/main/resources/META-INF/spring.schemas # spring-integration-mongodb/src/main/resources/META-INF/spring.schemas # spring-integration-mqtt/src/main/resources/META-INF/spring.schemas # spring-integration-redis/src/main/resources/META-INF/spring.schemas # spring-integration-rmi/src/main/resources/META-INF/spring.schemas # spring-integration-scripting/src/main/resources/META-INF/spring.schemas # spring-integration-security/src/main/resources/META-INF/spring.schemas # spring-integration-sftp/src/main/resources/META-INF/spring.schemas # spring-integration-stomp/src/main/resources/META-INF/spring.schemas # spring-integration-stream/src/main/resources/META-INF/spring.schemas # spring-integration-syslog/src/main/resources/META-INF/spring.schemas # spring-integration-webflux/src/main/resources/META-INF/spring.schemas # spring-integration-websocket/src/main/resources/META-INF/spring.schemas # spring-integration-ws/src/main/resources/META-INF/spring.schemas # spring-integration-xml/src/main/resources/META-INF/spring.schemas # spring-integration-xmpp/src/main/resources/META-INF/spring.schemas # spring-integration-zookeeper/src/main/resources/META-INF/spring.schemas
Fixes #2987 To resolve XSD files properly from the classpath, their HTTPS reference must be present in the `spring.schemas` to avoid the Internet interaction for resolving an XSD file **Cherry-pick to 5.1.x, 5.0.x & 4.3.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Fixes #2987 To resolve XSD files properly from the classpath, their HTTPS reference must be present in the `spring.schemas` to avoid the Internet interaction for resolving an XSD file **Cherry-pick to 5.1.x, 5.0.x & 4.3.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Related to spring-projects/spring-integration#2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Related to spring-projects#2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Related to #2987 **Cherry-pick to 3.1.x, 3.0.x & 2.3.x**
Related to spring-projects/spring-integration#2987 * Rename the XSD file to the current version
Related to spring-projects/spring-integration#2987 * Rename the XSD file to the current version
All the Spring integration xsds (-jms, -jmx, -file) import the core xsd by using https in schemaLocation while in the spring-integration-core\spring.schemas it is defined with http.
In runtime this causes the system to look for the https://www.springframework.org/schema/integration/spring-integration-4.3.xsd on the web.
Looks the same as spring-projects/spring-framework#22739
The text was updated successfully, but these errors were encountered: