Java 如何使用Apache CXF覆盖入站消息验证?
当我为整数字段输入非数字内容时,会收到一条错误消息: “不是一个数字:0.012A” 在解组架构验证时,是否有方法输出自定义错误消息 我正在使用Apache CXF 2.6.1和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
<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,但我需要更详细和可自定义的消息。我该怎么做?使用这种方法,您可以添加任何您想要的消息。我已经看到,这种感觉无法完全自定义