我正在尝试配置应仅支持 https 的应用程序,并且在 securityContext.xml 文件中添加了以下配置:
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.apache.commons.httpclient.protocol.Protocol"/>
<property name="targetMethod" value="registerProtocol"/>
<property name="arguments">
<list>
<value>https</value>
<bean class="org.apache.commons.httpclient.protocol.Protocol">
<constructor-arg value="https"/>
<constructor-arg>
<bean class="org.springframework.security.saml.trust.httpclient.TLSProtocolSocketFactory"/>
</constructor-arg>
<constructor-arg value="443"/>
</bean>
</list>
</property>
</bean>
运行服务器时出现以下异常:
原因:org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/securityContext.xml] 中定义名称为“org.apache.commons.httpclient.protocol.Protocol#59a20678”的 bean 创建错误 [/WEB-INF/securityContext.xml]:不能在设置构造函数参数时创建 [org.springframework.security.saml.trust.httpclient.TLSProtocolSocketFactory] 类型的内部 bean 'org.springframework.security.s aml.trust.httpclient.TLSProtocolSocketFactory#5658808';嵌套异常是 org.springframework.beans.factory.BeanCreationException: Error Creating bean with name 'org.springframework.security.saml.trust.httpclient.TLSProtocolSocketFactory#5658808' 在 ServletContext 资源 [/WEB-INF/secur ityContext.xml ]: bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [org.springframework.security.saml.trust.httpclient.TLSProtocolSocketFactory]:未找到默认构造函数;嵌套异常是 java.lang.NoSuchMethodException: org.springframework.security.saml.trust.httpclient.TLSProtocolSocketFactory.() at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281) at org.springframework .beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:12 0) 在 org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630) 在 org.springframework.beans.factory.support。 org.springframework.beans.factory 的 ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)。h ttpclient.TLSProtocolSocketFactory#5658808' 在 ServletContext 资源 [/WEB-INF/securityContext.xml] 中定义:bean 的实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [org.springframework.security.sa ml.trust.httpclient.TLSProtocolSocketFactory]:未找到默认构造函数;嵌套异常是 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.j ava:997) 的 java.lang.NoSuchMethodException: org.spring framework.security.saml.trust.httpclient.TLSProtocolSocketFactory.() .springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactor y.java:943) 在 org.springframework.beans.factory.support。AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java :485) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:4 56) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java :270) ... 32 更多原因:org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [org.springframework.security.saml.trust.h ttpclient.TLSProtocolSocketFactory]:未找到默认构造函数;嵌套异常是 java.lang.NoSuchMethodException: org.springframework。security.saml.trust.httpclient.TLSProtocolSocketFactory.() at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.
你能指导我如何纠正这个问题吗?我有最新的后备箱。