我的java webapp使用CXF通过SOAP 1.1发布一些Web服务。
在我的服务器日志(Apache Tomcat catalina.out文件)中,出现了以下情况: GRAVE:SAAJ0303:SOAP 1.1不支持操作getFaultSubcodes
每次java webapp业务代码抛出javax.xml.ws.soap.SOAPFaultException实例时都会出现这些日志行。此异常由Apache CXF org.apache.cxf.jaxws.interceptors.WebFaultOutInterceptor处理,它在SOAPFault实例上调用getFaultSubcodes。
使用SOAP 1.1 SOAPFault,对getFaultSubcodes的调用会引发由CXF捕获的UnsupportedOperationException,但SOAPFault的实现类会记录该消息。是否存在SOAP 1.1特定的CXF故障拦截器?
有没有人知道如何避免CXF调用不支持的GetFaultSubcodes操作?
答案 0 :(得分:2)
Here是一个很好的解释,here是2017年7月25日报道的相关(已解决)问题。
你至少有这两个解决方案:
faultCode
实例化时修改SOAP SOAPFaultException
字段值解。 SOAP 1.1和1.2具有faultCode
字段的不同值。 SOAPFactory fac = SOAPFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);