2017-02-27 123 views
0

我有一个跨国类,我想提出支持Web服务:@WebService和@Transactional注解一个类

我想:

@WebService(serviceName = "searchSth") 
@Transactional 
public class A{ 

    public Sth getSth(){ 
    do sth here... 
    } 
} 

但我不力的工作,我也尝试:

@WebService(serviceName = "searchSth")  
public class B{ 
private A a; 

public seta(A a){ 
    this.a =a; 
} 

public Sth getSth(){ 
    a.getSth(); 
    } 
} 

@Transactional 
public class A{ 

    public Sth getSth(){ 
    do sth here... 
    } 
} 

当我运行它,我得到:螺纹

异常 “主要” org.springframework.beans.f actory.BeanCreationException:在类路径资源[remote-application.xml]中定义名称为'cre-remoting'的Bean时创建错误:调用init方法失败;嵌套的异常是java.lang.IllegalArgumentException:class com.sun.proxy。$ Proxy22既没有@WebService也没有@WebServiceProvider注释 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1589) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:554) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 在org.springframework.beans。 factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.spr在org.springframework.beans.factory的org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 中提供了以下框架:ingframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 。 support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) 在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) 在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java: 542) at org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83) at com.mycompany.crmproject.server.RmiServer.main(RmiServer.java:18) 引起:java.lang.IllegalArgumentException:类com.sun.proxy。$ Proxy22既没有@WebService也没有@WebServiceProvider注释 at com .sun.xml.internal.ws.server.EndpointFactory.verifyImplementorClass(EndpointFactory.java:424) at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(EndpointImpl.java:367) at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:315) at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl .java:231) at org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter.publishEndpoint(SimpleJaxWsServiceExporter.java:68) at org.springframework.re moting.jaxws.AbstractJaxWsServiceExporter.publishEndpoints(AbstractJaxWsServiceExporter.java:171) 在org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter.afterPropertiesSet(AbstractJaxWsServiceExporter.java:142) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1648) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1585) ...... 12多个

有什么办法解决呢?

+0

你可以在这里贴出完整的堆栈跟踪吗? – thiagoh

回答

0

您的堆栈跟踪的开始清楚地显示了错误:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cre-remoting' defined in class path resource [remote-application.xml]: 

检查你的bean称为CRE-远程远程-application.xml中的配置文件定义。你在那里定义的类没有@WebService和@WebServiceProvider注解。

+0

它的确,上面的类只是样本。我在remote-application.xml中定义的类是Transactional,其代理没有WebService注释。 – pshemek

相关问题