创建AnnotationActionEndpointMapping bean

时间:2018-05-04 14:15:30

标签: java spring web-services

我有一个java 8 spring 5项目/ spring ws 3.它在tomcat 8中运行。它已经从旧版本的spring中进行了镜像,并使用了webservices的xml配置。当我启动应用程序时,我收到以下错误

错误:[May-04 15:03:25,263] web.context.ContextLoader - 上下文初始化失败 org.springframework.beans.factory.BeanCreationException:创建名为'org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping#0'的bean时出错:bean的实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping]:构造函数抛出异常;嵌套异常是java.lang.ExceptionInInitializerError

这个bean是由Spring创建的,并不是我的应用程序特别调用的。我在这里检查了代码

Source

并查看了所有被调用的构造函数,但仍然无法弄清楚可能出现的问题。谁有人见过这个?或者知道我可以看到什么来追踪错误?

由于

编辑:应该添加最后的例外

引起:java.lang.ExceptionInInitializerError     在org.springframework.xml.xpath.XPathExpressionFactory.createXPathExpression(XPathExpressionFactory.java:73)     at org.springframework.ws.soap.addressing.version.AbstractAddressingVersion.createNormalizedExpression(AbstractAddressingVersion.java:116)     在org.springframework.ws.soap.addressing.version.AbstractAddressingVersion。(AbstractAddressingVersion.java:88)     在org.springframework.ws.soap.addressing.version.Addressing200408。(Addressing200408.java:36)     在org.springframework.ws.soap.addressing.server.AbstractAddressingEndpointMapping.initDefaultStrategies(AbstractAddressingEndpointMapping.java:107)     在org.springframework.ws.soap.addressing.server.AbstractAddressingEndpointMapping。(AbstractAddressingEndpointMapping.java:98)     在org.springframework.ws.soap.addressing.server.AbstractActionEndpointMapping。(AbstractActionEndpointMapping.java:38)     在org.springframework.ws.soap.addressing.server.AbstractActionMethodEndpointMapping。(AbstractActionMethodEndpointMapping.java:34)     在org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping。(AnnotationActionEndpointMapping.java:60)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     在java.lang.reflect.Constructor.newInstance(Constructor.java:408)

编辑2: 运行的最后一行代码是 org.springframework.xml.xpath.XPathExpressionFactory.java:36

这个电话 带有以下数据的org.springframework.xml.xpath.Jaxp13XPathExpressionFactory.createXPathExpression()

expression = normalize-space(wsa:To) namespaces = [“wsa” - > “http://schemas.xmlsoap.org/ws/2004/08/addressing”]

我在Jaxp13XPathExpressionFactory.createXPathExpression()中有一个断点,但它永远不会被击中。困惑为什么会这样,它说它找不到类,但是类与调用它的类在同一个包中。

编辑3。 它确实找到了类,intellij中的断点并没有那么好用。该错误似乎是由

引起的

jar:file:... / saxon9he-9.2.1.5.jar!/META-INF/services/javax.xml.xpath.XPathFactory:2:非法配置文件语法

1 个答案:

答案 0 :(得分:0)

最后简单回答。是一个古老的maven依赖导致了这个问题。我将saxon9和v9.2.1.5升级到了Saxon-HE v9.8.0-11,错误不再发生,我的应用程序启动没有问题。