当前位置: 首页 > 知识库问答 >
问题:

@一个类上的WebService和@Transactional注释

马和硕
2023-03-14

我有一个跨国类,我想让它启用web服务:

我试过:

@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...
  }
}

当我运行它时,我得到:

线程“main”组织中出现异常。springframework。豆。工厂BeanCreationException:创建在类路径资源[remote application.xml]中定义了名为“cre remoting”的bean时出错:调用init方法失败;嵌套的例外是java。lang.IllegalArgumentException:类com。太阳代理$Proxy22在org上既没有@WebService也没有@WebServiceProvider注释。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。org上的initializeBean(AbstractAutowireCapableBeanFactory.java:1589)。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。org上的doCreateBean(AbstractAutowireCapableBeanFactory.java:554)。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。在org上创建Bean(AbstractAutowireCapableBeanFactory.java:483)。springframework。豆。工厂支持AbstractBeanFactory 1美元。org上的getObject(AbstractBeanFactory.java:306)。springframework。豆。工厂支持DefaultSingletonBeanRegistry。getSingleton(DefaultSingletonBeanRegistry.java:230)位于org。springframework。豆。工厂支持抽象工厂。org上的doGetBean(AbstractBeanFactory.java:302)。springframework。豆。工厂支持抽象工厂。getBean(AbstractBeanFactory.java:197)位于org。springframework。豆。工厂支持DefaultListableBeanFactory。org上的预实例化单例(DefaultListableBeanFactory.java:759)。springframework。上下文支持AbstractApplicationContext。在org上完成BeanFactoryInitialization(AbstractApplicationContext.java:866)。springframework。上下文支持AbstractApplicationContext。在org上刷新(AbstractApplicationContext.java:542)。springframework。上下文支持ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)网址:org。springframework。上下文支持ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)在com上。我的公司。CRM项目。服务器服务器。main(RmiServer.java:18)由:java引起。lang.IllegalArgumentException:类com。太阳代理$Proxy22在com上既没有@WebService也没有@WebServiceProvider注释。太阳xml。内部的ws。服务器工厂。在com上验证ImplementorClass(EndpointFactory.java:424)。太阳xml。内部的ws。运输http。服务器EndpointImpl。getPrimaryWsdl(EndpointImpl.java:367)位于com。太阳xml。内部的ws。运输http。服务器EndpointImpl。com上的createEndpoint(EndpointImpl.java:315)。太阳xml。内部的ws。运输http。服务器EndpointImpl。在org上发布(EndpointImpl.java:231)。springframework。远程处理。jaxws。SimpleJaxWsServiceExporter。publishEndpoint(SimpleJaxWsServiceExporter.java:68)位于org。springframework。远程处理。jaxws。AbstractJAXServiceExporter。publishEndpoints(AbstractJaxWsServiceExporter.java:171)位于org。springframework。远程处理。jaxws。AbstractJAXServiceExporter。AfterPropertieSet(AbstractJaxWsServiceExporter.java:142)位于org。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。org上的invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1648)。springframework。豆。工厂支持AbstractAutoWireAbleBeanFactory。initializeBean(AbstractAutowireCapableBeanFactory.java:1585)。。。还有12个

有办法解决吗?

共有1个答案

祁嘉木
2023-03-14

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

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

在远程应用程序中检查名为cre remoting的bean的定义。xml配置文件。您在其中定义的类没有@WebService或@WebServiceProvider注释。

 类似资料:
  • 问题内容: 我在Service类中看到了一种被标记为的方法,但是它也在同一类中调用了其他未标为的方法。 这是否意味着对单独方法的调用导致应用程序打开与DB的单独连接或暂停父事务等? 不带任何注释的方法的默认行为是什么,而另一个带有注释的方法调用该方法的默认行为是什么? 问题答案: 当你调用没有事务块之内的方法时,父事务将继续使用新方法。它将使用与父方法(with )相同的连接,以及在调用的方法中导

  • 问题内容: 我在Spring领域还很陌生,我开发了一个简单的项目,该项目使用Spring 3.2.1和Hibernate 4.1.9来实现DAO。该项目可以正常工作,但是我对在此DAO的CRUD方法上使用 @Transactional Spring批注有一些疑问。 这是实现我的项目的CRUD操作的类的完整代码: 好的,正如您所看到的,使用@Transactional注释对某些方法进行了注释。 我在

  • spring应用程序无法启动,因为它无法在配置类中找到一个带有@Service注释的类的bean。但只有在我使用@Transactional注释特定服务类中的方法时才会出现这种情况。为什么会这样?

  • 问题内容: 我试图在一个元素上拍两个或多个相同类型的注释,在这种情况下是方法。这是我正在使用的近似代码: 编译以上内容时,javac抱怨重复的注释: 这样根本不可能重复注释吗?从学步上讲,上面的两个@Foo实例是否由于内容不同而不同吗? 如果上述方法不可行,有哪些可能的解决方法? 更新:我被要求描述我的用例。开始。 我正在建立一种语法糖化机制,以“映射” POJO到文档存储(例如MongoDB)。

  • 这是实现我的项目的CRUD操作的类的整个代码: 好的,正如您所看到的,使用@Transactional注释对一些方法进行了注释。 我正在阅读官方文档http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/transaction.html中关于该注释在方法上的使用,它看到了:使用@transac