Java @一个类上的WebService和@Transactional注释
我有一个跨国类,我希望启用web服务: 我试过:Java @一个类上的WebService和@Transactional注释,java,spring,hibernate,soap,Java,Spring,Hibernate,Soap,我有一个跨国类,我希望启用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
@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”org.springframework.beans.factory.BeanCreationException中出现异常:创建类路径资源[remote application.xml]中定义的名为“cre remoting”的bean时出错:调用init方法失败;嵌套异常为java.lang.IllegalArgumentException:class com.sun.proxy.$Proxy22既没有@WebService也没有@WebServiceProvider注释
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1589)
位于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)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:759)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
位于com.mycompany.crmproject.server.RmiServer.main(RmiServer.java:18)
原因:java.lang.IllegalArgumentException:class com.sun.proxy.$Proxy22既没有@WebService也没有@WebServiceProvider注释
位于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)
位于org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter.publishEndpoint(SimpleJaxWsServiceExporter.java:68)
位于org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter.publishEndpoints(AbstractJaxWsServiceExporter.java:171)
位于org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter.AfterPropertieSet(AbstractJaxWsServiceExporter.java:142)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1648)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1585)
... 还有12个
有没有办法解决这个问题?堆栈跟踪的开头清楚地显示了错误:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cre-remoting' defined in class path resource [remote-application.xml]:
检查remote-application.xml配置文件中名为cre remoting的bean的定义。您在此处定义的类没有@WebService或@WebServiceProvider注释。您可以将完整的堆栈跟踪粘贴到此处吗?可以,上面的类只是示例。我在remote-application.xml中定义的类是事务性的,其代理没有WebService注释。