战争部署在服务器中时,偶尔会遇到此问题。重新启动时问题得到解决。有时需要多次重启才能解决问题。
我在上下文中使用了以下bean配置
<bean id="baseCamelMarshallerWSTemplate" class="org.springframework.ws.client.core.WebServiceTemplate" scope="prototype">
<constructor-arg ref="messageFactory" />
<property name="transformerFactoryClass" value="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"/>
</bean>
我已将baseCamelMarshallerWSTemplate添加到springws端点配置中,如下所示:
from("spring-ws:rootqname:{http://example.com/}GetFoo?endpointMapping=#endpointMapping&webServiceTemplate=baseCamelMarshallerWSTemplate")
但问题似乎发生了。由于限制,无法将变压器工厂设置为com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl作为服务器中的java系统属性。
请提供任何其他解决方案。
答案 0 :(得分:1)
Camel-Springws提供了一个直接指定变压器工厂的选项,它解决了这个问题。
在bean配置文件中,指定要使用的变换器工厂类
<bean id="transformerFactory" class="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"/>
将transformerFactory添加到Springws端点配置中,如下所示:
spring-ws:rootqname:{http://services.com/ServiceV1.0}Request?endpointMapping=#endpointMapping&transformerFactory=#transformerFactory