在tomcat下发布cxf没有问题,在resin2.x下发布出现转换异常

Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=: Could not write schema.: com.caucho.xsl.TransformerExceptionWrapper: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to com.caucho.xml.QElement
	at org.apache.cxf.wsdl11.SchemaSerializer.marshall(SchemaSerializer.java:51)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
	at org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:196)
	... 50 more
Caused by: com.caucho.xsl.TransformerExceptionWrapper: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to com.caucho.xml.QElement
	at com.caucho.xsl.TransformerImpl.transform(TransformerImpl.java:431)
	at com.caucho.xsl.TransformerImpl.transform(TransformerImpl.java:305)
	at org.apache.cxf.wsdl11.SchemaSerializer.writeXml(SchemaSerializer.java:59)
	at org.apache.cxf.wsdl11.SchemaSerializer.marshall(SchemaSerializer.java:49)
	... 56 more
Caused by: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl cannot be cast to com.caucho.xml.QElement
	at com.caucho.xsl.XslWriter.pushCopy(XslWriter.java:671)
	at com.caucho.xsl.IdentityStylesheet.applyNode(IdentityStylesheet.java:109)
	at com.caucho.xsl.IdentityStylesheet.transform(IdentityStylesheet.java:87)
	at com.caucho.xsl.TransformerImpl.transform(TransformerImpl.java:421)
	... 59 more

 

在tomcat下发布成功,能看到wsdl内容,这个原因应该是解析xml 时候采用resin的方式 ,com.caucho.xsl.TransformerImpl这个是resin下的,cxf下也有,怎么能让他优先使用cxf下的类呢~!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值