SOAP Web 服务应用程序初始化失败,协议不受支持:https'
我有一个SOAP Web服务后端应用程序,该应用程序自3月30日以来就无法启动(部署)使用错误//未支持的协议:https'//(包括https旁边的单个报价),自一年左右以来就没有任何代码更改。而且,除XSD中的XLMNS名称空间URI以外的应用程序代码或属性文件中,其他系统URL均未配置。在应用程序部署(初始化)期间,我甚至在测试应用程序中的任何Web服务之前都会发现该错误。
我在JDK 1.6.0.45上,在Weblogic 10.3.6服务器上。 (对不起,我知道我需要升级到更新,最终我会保证我会到达那里
。 。
<Apr 5, 2022 2:31:49 PM IST> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection#0': Invocation of init method failed; nested exception is org.springframework.xml.xsd.commons.CommonsXsdSchemaException: Schema [ServletContext resource [/WEB-INF/xsd/AcmeAppGateway.xsd]] could not be loaded; nested exception is org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection#0': Invocation of init method failed; nested exception is org.springframework.xml.xsd.commons.CommonsXsdSchemaException: Schema [ServletContext resource [/WEB-INF/xsd/AcmeAppGateway.xsd]] could not be loaded; nested exception is org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
Truncated. see log file for complete stacktrace
Caused By: org.springframework.xml.xsd.commons.CommonsXsdSchemaException: Schema [ServletContext resource [/WEB-INF/xsd/AcmeAppGateway.xsd]] could not be loaded; nested exception is org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'
at org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection.afterPropertiesSet(CommonsXsdSchemaCollection.java:147)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1571)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
Truncated. see log file for complete stacktrace
Caused By: org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'
at org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:710)
at org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:706)
at org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:538)
at org.apache.ws.commons.schema.SchemaBuilder.handleSchemaElementChild(SchemaBuilder.java:1513)
at org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:658)
Truncated. see log file for complete stacktrace
Caused By: java.net.ProtocolException: Unsupported protocol: https'
at weblogic.net.http.HttpClient.openServer(HttpClient.java:384)
at weblogic.net.http.HttpClient.New(HttpClient.java:252)
at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:213)
at weblogic.net.http.HttpURLConnection.followRedirect(HttpURLConnection.java:698)
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:464)
Truncated. see log file for complete stacktrace
>
该错误中提到的XSD具有XLMNS URI,如下所示,是否有可能通过使用更高的TLS版本(JDK 1.6不支持TLS 1.2)来引起问题?
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
除上述内容以外,该XSD中没有其他URL配置。我遇到了另一个类似错误在这里,但这是由于丢失的证书。如果有人可以将我指向正确的方向,请非常感谢。
I have a SOAP webservice backend only application which fails to start(deploy) since March 30th with the error //Unsupported protocol: https'// (including the single quote next to https), no code change went in since an year or so and none of the other system URL's are configured within the application code or property file other than xlmns namespace uri in the XSD. I get that error during the application deployment (initialization) even before testing any webservice within the application.
I am on JDK 1.6.0.45 on a weblogic 10.3.6 server. (Sorry, I know I need to upgrade to newer, I will get there eventually I promise)
The full stacktrace is as below, I did enable ssl debug logs during weblogic start up but I do not see any error that would convey a missing certificate.
<Apr 5, 2022 2:31:49 PM IST> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection#0': Invocation of init method failed; nested exception is org.springframework.xml.xsd.commons.CommonsXsdSchemaException: Schema [ServletContext resource [/WEB-INF/xsd/AcmeAppGateway.xsd]] could not be loaded; nested exception is org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection#0': Invocation of init method failed; nested exception is org.springframework.xml.xsd.commons.CommonsXsdSchemaException: Schema [ServletContext resource [/WEB-INF/xsd/AcmeAppGateway.xsd]] could not be loaded; nested exception is org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
Truncated. see log file for complete stacktrace
Caused By: org.springframework.xml.xsd.commons.CommonsXsdSchemaException: Schema [ServletContext resource [/WEB-INF/xsd/AcmeAppGateway.xsd]] could not be loaded; nested exception is org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'
at org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection.afterPropertiesSet(CommonsXsdSchemaCollection.java:147)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1571)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
Truncated. see log file for complete stacktrace
Caused By: org.apache.ws.commons.schema.XmlSchemaException: Unsupported protocol: https'
at org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:710)
at org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:706)
at org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:538)
at org.apache.ws.commons.schema.SchemaBuilder.handleSchemaElementChild(SchemaBuilder.java:1513)
at org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:658)
Truncated. see log file for complete stacktrace
Caused By: java.net.ProtocolException: Unsupported protocol: https'
at weblogic.net.http.HttpClient.openServer(HttpClient.java:384)
at weblogic.net.http.HttpClient.New(HttpClient.java:252)
at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:213)
at weblogic.net.http.HttpURLConnection.followRedirect(HttpURLConnection.java:698)
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:464)
Truncated. see log file for complete stacktrace
>
The xsd mentioned in the error has xlmns URI's as below, is it possible these are causing the problem by being on higher TLS version (TLS 1.2 which is not supported on JDK 1.6)?
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
There is no other URL configured in that xsd other than above. I came across another similiar error here, but that was due to a missing certificate. Much appreciated if anyone can point me in the right direction.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,经过反复尝试,终于弄清楚了问题所在。
在我们的 SOAP WS 项目中,我们将 schemaLocation 设置如下:
我相信*此网站 schemas.xmlsoap.org 已于 3 月 30 日启用 TLS1.2 (*我对其他原因持开放态度,但这是我目前的假设)这就是为什么我们的应用程序在那一天之前运行良好,并在该日期后开始失败。我在 SSLABS 上验证了该 URL 的 TLS 配置,该配置表明该站点禁用了 TLS1.2 以下的任何内容。
由于我仍然使用 JDK 1.6,因此无法连接到该站点,该站点的 TLS 高于 1.6 支持的站点,这就是为什么在建立与该站点的连接时应用程序初始化失败的原因网址。解决方案是手动将肥皂编码的 xml 内容从 URL 下载到 xml 文件,并将该文件放入项目文件夹中,然后在 XSD 中引用该文件以获取 schemaLocation,如下所示。这成功了!
Okay finally figured out what the problem was after trial and error.
On our SOAP WS project we have set schemaLocation as below:
I believe* this site schemas.xmlsoap.org has turned on TLS1.2 on March 30th (*I am open to other reasons but this is my assumption at this time) which is why our application was working fine until that day and start to fail post that date. I verified the TLS configuration of that URL on SSLABS which said anything below TLS1.2 was disabled for that site.
Since I am still on JDK 1.6 there is no way to connect to this site which is on higher TLS than the one supported by 1.6, which is why the application initialization was failing while establishing connection to that url. The solution was to manually download the xml content of the soap encoding from the URL to a xml file and place this file within the project folder and then refer this file within the XSD for schemaLocation as shown below. This did the trick!!