Java 如何使用Apache CXF覆盖入站消息验证?

Java 如何使用Apache CXF覆盖入站消息验证?,java,validation,cxf,customization,Java,Validation,Cxf,Customization,当我为整数字段输入非数字内容时,会收到一条错误消息: “不是一个数字:0.012A” 在解组架构验证时,是否有方法输出自定义错误消息 我正在使用Apache CXF 2.6.1和 <entry key="schema-validation-enabled" value="true" ></entry> 在cxf-spring.xml中 java.lang.RuntimeException:不是一个数字:com.jiemai.jmservice.handlers.Va

当我为整数字段输入非数字内容时,会收到一条错误消息:

“不是一个数字:0.012A”

在解组架构验证时,是否有方法输出自定义错误消息

我正在使用Apache CXF 2.6.1和

<entry key="schema-validation-enabled" value="true" ></entry>

在cxf-spring.xml中

java.lang.RuntimeException:不是一个数字:com.jiemai.jmservice.handlers.ValidationEventHandler.handleEvent上的0.012A(ValidationEventHandler.java:19) 位于org.apache.cxf.jaxb.io.DataReaderImpl$WSUIDValidationHandler.handleEvent(DataReaderImpl.java:78) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:655) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleError(UnmarshallingContext.java:691) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleError(UnmarshallingContext.java:687) 位于com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleParseConversionException(Loader.java:271) 位于com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:69) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.text(UnmarshallingContext.java:514) 位于com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.text(InterningXmlVisitor.java:93) 位于com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.processText(StAXStreamConnector.java:338) 位于com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleEndElement(StAXStreamConnector.java:216) 位于com.sun.xml.bind.v2.runtime.unmarshaller.statxstreamconnector.bridge(statxstreamconnector.java:185) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370) 位于com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:349) 位于org.apache.cxf.jaxb.jaxbencoder.doUnmarshal(jaxbencoder.java:784) 位于org.apache.cxf.jaxb.jaxbencoder.access$100(jaxbencoder.java:97) 位于org.apache.cxf.jaxb.jaxbencoder$1.run(jaxbencoder.java:812) 位于java.security.AccessController.doPrivileged(本机方法) 位于org.apache.cxf.jaxb.jaxbencoder.unmarshall(jaxbencoder.java:810) 位于org.apache.cxf.jaxb.jaxbencoder.unmarshall(jaxbencoder.java:644) 位于org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157) 位于org.apache.cxf.interceptor.docliteralinterceptor.handleMessage(docliteralinterceptor.java:108) 位于org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) 位于org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:122) 位于org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211) 位于org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213) 位于org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193) 位于org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:129) 位于org.apache.cxf.transport.servlet.AbstractHTTPServlet.HandlerRequest(AbstractHTTPServlet.java:187) 位于org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:110) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:710) 位于org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:166) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) 位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) 位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 位于java.lang.Thread.run(未知源)


请参阅Tks,但我需要更详细和可自定义的消息。我该怎么做?使用这种方法,您可以添加任何您想要的消息。我已经看到,这种感觉无法完全自定义