나는 언 마샬링 전에 들어오는 SOAP 요청의 유효성을 검사하고있는 AbstractPhaseInterceptor (InInterceptor로 등록)를 사용 중이다. 유효성 검사가 실패하면 오류 코드와 Falult 정보를 응답으로 생성합니다. 오류 정보를 얻을 수 있지만 예외를 던지는 동안 아래 경고 메시지가 표시됩니다. 그것을 피할 수 있습니까?아파치 Cxf 요격 자
내 인터셉터
package de.jonashackt.tutorial;
import java.util.logging.Logger;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.AbstractPhaseInterceptor;
import org.apache.cxf.phase.Phase;
public class SoapInter extends AbstractPhaseInterceptor<Message> {
private static final Logger LOG = Logger.getLogger(SoapInter.class.getName());
public SoapInter() {
super(Phase.RECEIVE);
// TODO Auto-generated constructor stub
}
@Override
public void handleMessage(Message arg0) throws Fault {
//throw new Fault(new NumberFormatException("error"));
throw new Fault("Error", LOG);
}
public void handleFault(Message arg0) {
super.handleFault(message);
XMLStreamWriter writer = (XMLStreamWriter)message.get("ORIGINAL_XML_WRITER");
if (writer != null)
{
message.setContent(XMLStreamWriter.class, writer);
}
}
}
이
oacxf.phase.PhaseInterceptorChain 내 config 파일
입니다 : 인터셉터가 { http://util.java/에 대한} ArrayListService가 던진 예외 풀기 nowpackage de.jonashackt.tutorial; import java.util.Arrays; import org.apache.cxf.Bus; import org.apache.cxf.binding.soap.SoapMessage; import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; import org.apache.cxf.message.Message; import org.apache.cxf.phase.AbstractPhaseInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class WebServiceConfig { @Autowired private Bus bus; @Bean public Server endpoint() { JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); factory.setAddress("/Hello"); factory.setBus(bus); factory.setServiceBean(Arrays.<Object>asList(new HelloPortImpl())); factory.getInInterceptors().add(soap()); return factory.create(); } @Bean public AbstractPhaseInterceptor<SoapMessage> soap() { return new SoapInter(); } }
org.apache.cxf.interceptor.Fault : de.jonashackt.tutorial.SoapInter.handleMessage (SoapInter.java:22)에서 오류 ~ [클래스/: NA] org.apache.cxf.phase에서. PhaseInterceptorChain.doIntercept (PhaseInterceptorChain.java:308) 에있는 ~ [cxf-core-3.1.10.jar : 3.1.10] org.apache.cxf.transport.ChainInitiationObserver.onMessage (ChainInitiationObserver.java:121) [cxf -core-3.1.10.jar : 3.1.10] at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke (AbstractHTTPDestination.java:262) [cxf-rt-transports-http-3.1.10.jar : 3.1.10] at org.apache.cxf.transport.servlet.ServletController.invokeDestination (ServletController.java:234) 에있는 [cxf-rt-transports-http-3.1.10.jar : 3.1.10] org.apache.cxf.transport.servlet.ServletController.invoke (ServletController.java:208) [cxf-rt-transports- http-3.1.10.jar : 3.1.10] at org.apache.cxf.transport.servlet.ServletController.invoke (ServletController.java:160) [cxf-rt-transports-http-3.1.10.jar : 3.1.10] at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke (CXFNonSpringServlet.java:180) [cxf-rt-transports-http-3.1.10.jar : 3.1.10] at org. apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest (AbstractHTTPServlet.java:299) [cxf-rt-transports-http-3.1.10.jar : 3.1.10] at org.apache.cxf.transport.servlet. AbstractHTTPServlet.doGet (AbstractHTTPServlet.java:223) 에있는 [cxf-rt-transports-http-3.1.10.jar : 3.1.10]에있는 javax.servlet.http.HttpServlet.service (HttpServlet.java:622) [tomcat-embed-core-8.0.32. jar : 8.0.32] at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service (AbstractHTTPServlet.java:274) [cxf-rt-transports-http-3.1.10.jar : 3.1.10] at ApplicationFilterChain.java : 292) 에있는 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:292) org.apache.catalina.core.ApplicationFilterChain.doFilter ApplicationFilterChain.java:207) 에서 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) [tomcat- embed-websocket-8.0.32. jar : 8.0.32] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.apache. (ApplicationFilterChain.java:207) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.springframework.web.filter.RequestContextFilter.doFilterInternal (RequestContextFilter.java : 99) 에서 [spring-web-4.2.5.RELEASE.jar : 4.2.5.RELEASE] org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) [spring-web- 4.2.5.RELEASE.jar : 4.2.5.RELEASE] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) [tomcat-embed-core-8.0.32.jar : 8.0. 32] at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.springframework.web.filter. HttpPutFormContentFilter.doFilterInternal (HttpPutFormContentFilter.java:87) [spring-web-4.2.5.RELEASE.jar : 4.2.5.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFi lter (OncePerRequestFilter.java:107) [spring-web-4.2.5.RELEASE.jar : 4.2.5.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) [ Tomcat-embed-core-8.0.32.jar : 8.0.32] at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:77) [spring-web-4.2.5.RELEASE.jar : 4.2.5.RELEASE] at org.springframework. web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) 에서 [spring-web-4.2.5.RELEASE.jar : 4.2.5.RELEASE] org.apache.catalina.core.Applicat ionFilterChain.internalDoFilter (ApplicationFilterChain.java:240) 에있는 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) [ 바람둥이 embed-core-8.0.32.jar : 8.0.32] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:121) [spring-web-4.2.5.RELEASE.jar : 4.2.5.RELEASE] org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) [스프링 웹 4.2.5.RELEASE.jar에서 : 4.2.5.RELEASE] 조직에서. apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.apa che35.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) 에있는 [Tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve. java : 212) 에있는 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:106) [tomcat-embed-core- 8.0.32.jar : 8.0.32] at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:502) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:141) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.apache.catalina.valves.ErrorReportValve.invoke 오류 orReportValve.java:79) 에서 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:88) [tomcat-embed- core-8.0.32.jar : 8.0.32] at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:522) [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1095) [tomcat-embed-core-8.0.32.jar : 8.0.32] at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler. process (AbstractProtocol.java:672) 에서 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java : 1500) 에서 [tomcat-embed-core-8.0.32.jar : 8.0.32] org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1456) [tomcat-에서에 [없음 : 1.8.0_65]에서 java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)에 embed-core-8.0.32.jar : 8.0.32] java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) [없음 : 1.8.0_65] at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) [tomcat-embed-core- 8.0.32.jar : 8.0.32] at java.lang.Thread.run (Thread.java:745) [na : 1.8.0_65]
문제점은 무엇입니까? 그것을 피할 수 있습니까?
시도와
logging.properties
파일을 정의를 참조하십시오. http://stackoverflow.com/questions/16072515/how-can-i-turn-off-extra-logging – pedrofb@pedrofb 안녕하세요 .. 내 설정 파일도 업데이트했습니다. 예를 들어 loggine을 끄는 방법을 알려 주실 수 있습니까? – user6543599