2017-02-27 17 views
0

私は、Webサービスを有効にしたいと思いトランスナショナルクラスがあります。@WebServiceと@Transactional注釈

は、私が試した:

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

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

が、私は仕事をDINTを、私も試してみました:私はそれを実行すると

@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:クラスパスresourceで定義された 'cre-remoting'という名前のBeanを作成中にエラーが発生しました[remote-application.xml]:initメソッドの呼び出しに失敗しました。入れ子になった例外はjava.lang.IllegalArgumentExceptionです。クラス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で 。 (デフォルトのシングル・バーン・レガシー。ジャバ:230) (org.spr)でorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) (AbstractBeanFactory.java:197) (org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 、org.springframework.beans.factory)。 org.springframework.context.support.AbstractApplicationContext.refreshでorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) でsupport.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) (AbstractApplicationContext.java: 542) at org.springframework.context.support.ClassPathXmlApplicationContext(ClassPathXmlApplicationContext.java:83) 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) (com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(EndpointImpl.java:367) com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:315) (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 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethodsでorg.springframework.remoting.jaxws.AbstractJaxWsServiceExporter.afterPropertiesSet(AbstractJaxWsServiceExporter.java:142) でmoting.jaxws.AbstractJaxWsServiceExporter.publishEndpoints(AbstractJaxWsServiceExporter.java:171) ( 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]: 

は、リモート-application.xmlの設定ファイルにCRE-リモーティングと呼ばれるあなたのBeanの定義を確認してください。そこで定義しているクラスには@WebServiceアノテーションも@WebServiceProviderアノテーションもありません。

+0

これは、上記のクラスは単なるサンプルです。 remote-application.xmlで定義したクラスはTransactionalで、そのプロキシにはWebServiceアノテーションがありません。 – pshemek