2013-12-12 1 views
1

이 문제는 어떻게 해결해야합니까? 나는 하루 동안 이것으로 고투하고 있었고 어떤 진전도 이루지 못했다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다. .org.w3c.dom.Document는 인터페이스이며 JAXB는 인터페이스를 처리 할 수 ​​없습니다.

스택 트레이스 : 12-Dec-2013 13:34:15.645 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mipStatus': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:369) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:251) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:537) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1581) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1522) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) ... 26 more Caused by: org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:332) at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:478) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:540) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:252) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159) at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211) at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:454) at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334) ... 35 more Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions org.w3c.dom.Document is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at org.w3c.dom.Document at private org.w3c.dom.Document com.abc.webservice.jaxws_asm.TakeXmlDoc.xmlDoc at com.abc.webservice.jaxws_asm.TakeXmlDoc at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:466) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:298) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:141) at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1163) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:248) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:235) at javax.xml.bind.ContextFinder.find(ContextFinder.java:432) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:637) at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:267) at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:265) at java.security.AccessController.doPrivileged(Native Method) at org.apache.cxf.common.jaxb.JAXBContextCache.createContext(JAXBContextCache.java:265) at org.apache.cxf.common.jaxb.JAXBContextCache.getCachedContextAndSchemas(JAXBContextCache.java:172) at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:464) at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:330) ... 46 more

코드 :

package com.abc.webservice.impl; 
import javax.jws.WebService; 
import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 
import org.w3c.dom.Document; 
import com.abc.model.Agent; 
import com.abc.model.AuthHeader; 
import com.abc.webservice.MipStatusWebService; 
import com.abc.webservice.ProducerWebService; 
@WebService(endpointInterface="com.abc.webservice.MipStatusWebService", 
    targetNamespace="http://tempuri.org") 
public class MipStatusWebServiceImpl implements MipStatusWebService { 

    public static final Log log = LogFactory.getLog(MipStatusWebServiceImpl.class); 

    public Document TakeXmlDoc(AuthHeader authHeader, Document xmlDoc) throws Exception { 
    log.info("Inside TakeXmlDoc() with authHeader:-"+authHeader+" xmlDoc:-"+xmlDoc); 
    return producerWebService.SyncScreeningStatus(Agent.MIP_NAME, xmlDoc); 
    } 

    private ProducerWebService producerWebService; 
    public void setProducerWebService(ProducerWebService producerWebService){ 
    this.producerWebService = producerWebService; 
    } 
} 

springcontext 파일 :

내가 가진 무엇
<bean id="mipStatusWebService" 
     class="com.abc.webservice.impl.MipStatusWebServiceImpl"> 
     <property name="producerWebService" ref="producerWebService" /> 
    </bean> 
    <jaxws:endpoint id="mipStatus" 
     implementorClass="com.abc.webservice.MipStatusWebService" 
     implementor="#mipStatusWebService" address="/MipStatusService"> 
     <!--jaxws:serviceFactory> 
      <ref bean="jaxws-and-aegis-service-factory" /> 
     </jaxws:serviceFactory--> 
    </jaxws:endpoint> 

. Tomcat을 사용하여 배포하려고하지만 언급 된 오류로 인해 실패합니다. 참고 : 업데이트 된 내용.

+0

더 자세히 설명합니다 ... 따라서,의 getLog()와 setLog()에 대한 작업을 렌더링하기 위해 노력하고 다시 log4j에에 연결 있었는지 당신의 코드를 보여주고, 스택 추적을 포함한 정확한 에러 메시지를 복사하고 붙여 넣으려고합니다. – Jesper

+0

기존 코드, 오류 메시지, 지금까지의 노력. 우리는 이들 없이는 당신을 도울 수 없습니다. – gyorgyabraham

+0

@Jesper가 code와 stackTrace를 추가했습니다. –

답변

0

좋아, 다른 사람에게 도움이되기를 바랍니다. 나는이 같은 오류/예외를 받고 있었다. 내 프로젝트는 @WebService Java 클래스에서 wsgen을 사용하는 간단한 웹 서비스였습니다.

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 

@WebService 
public class WSControlPanel { 

    /** 
    * The ILogger variable 
    */ 
    private Log     log = LogFactory.getLog("org.adym.batch"); 
//  

내가의 getLog() 및 반환과 아파치의 log4j 객체를 설정했다 setLog()가 호출 내 웹 서비스 클래스의 추가 방법을했다 밝혀졌습니다. 웹 서비스 클래스를 인스턴스화 할 때 따라서

public Log getLog() { 
    return log; 
} 

public void setLog(Log log) { 
    this.log = log; 
} 

, JAXB는

관련 문제