在struts2 Web应用程序中添加新的Web服务

时间:2011-12-20 13:11:24

标签: web-services struts2 netbeans-7

我正在使用Netbeans IDE 7.0.1,这些是我正在使用的库:

  • ANTLR-2.7.6.jar
  • 公地BeanUtils的-1.8.1.jar
  • 公地集合-3.2.jar
  • 公地消化器-2.0.jar
  • 公地文件上传-1.2.1.jar
  • 共享记录-1.0.4.jar
  • DOM4J-1.6.1.jar
  • EJB3-persistence.jar
  • 的freemarker-2.3.15.jar
  • 冬眠的注解-3.2.0.ga.jar
  • 冬眠-公地annotations.jar
  • 冬眠-core.jar添加
  • 的hsqldb.jar
  • 了Javassist-3.9.0.GA.jar
  • JTA-1.1.jar
  • 的log4j-1.2.15.jar
  • MySQL的连接器的Java-5.1.10-bin.jar
  • OGNL-2.7.3.jar
  • SLF4J-API-1.4.2.jar
  • SLF4J-log4j12-1.4.2.jar
  • struts2的-CONFIG-浏览器的插件 - 2.1.6.jar
  • struts2的芯 - 2.1.8.1.jar
  • struts2的-道场-插件-2.2.3.1.jar
  • XWork的核 - 2.1.6.jar

我创建了一个Struts2 Web应用程序,并使用Netbeans向导在新包 webservice 中添加了一个Web服务;在我的struts.xml中,我使用了以下内容:

<constant name="struts.action.excludePattern" value="/YouSportWS*"/>

但是当我通过在Netbeans上下文菜单中单击测试Web服务测试我的Web服务时,我在浏览器中出现以下错误:

Struts Problem Report

Struts has detected an unhandled exception:

Messages:   
controller.MyWebService
Unable to instantiate Action, controller.YouSportWS, defined for 'YouSportWS' in namespace '/'controller.YouSportWS
File:   org/glassfish/web/loader/WebappClassLoader.java
Line number:    1.519

Stacktraces

Unable to instantiate Action, controller.YouSportWS, defined for 'YouSportWS' in namespace '/'controller.YouSportWS
    com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:307)
    com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:388)
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:187)
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
    com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
    com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
    com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
    com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    java.lang.Thread.run(Thread.java:722)

    java.lang.ClassNotFoundException: controller.YouSportWS
        org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1519)
        org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1369)
        com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:146)
        com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:96)
        com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:149)
        com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
        com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109)
        com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:288)
        com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:388)
        com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:187)
        org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
        org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
        com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
        org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
        org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
        com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
        org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
        com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
        com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
        com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
        com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
        com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        java.lang.Thread.run(Thread.java:722)

我的设置有什么问题?

1 个答案:

答案 0 :(得分:0)

模式应该是真正的正则表达式:

excludePattern="YouSportWS.*"

请参阅documentation regarding exclusions