Java 使用OpenEJB在Tomcat上部署web服务

Java 使用OpenEJB在Tomcat上部署web服务,java,web-services,tomcat,openejb,Java,Web Services,Tomcat,Openejb,我需要在安装了OpenEJB的Tomcat上部署web服务。 我编译了一个简单的Hello服务,它只使用JAX-WS打印“Hello”,并尝试在tomcat上部署,但在部署时出错: 错误-部署servlet helloservice.endpoint.Hello的CXF webservice时出错 java.lang.IllegalArgumentException:在web应用程序上下文/helloservice中找不到servlet helloservice 请帮忙,这里做错了什么。 tom

我需要在安装了OpenEJB的Tomcat上部署web服务。 我编译了一个简单的Hello服务,它只使用JAX-WS打印“Hello”,并尝试在tomcat上部署,但在部署时出错: 错误-部署servlet helloservice.endpoint.Hello的CXF webservice时出错 java.lang.IllegalArgumentException:在web应用程序上下文/helloservice中找不到servlet helloservice

请帮忙,这里做错了什么。 tomcat+openejb对于web服务部署是否足够

谢谢

请帮忙,这里做错了什么。 tomcat+openejb是否足以 web服务部署

servlet/JSP引擎对于web开发来说已经足够了。你不需要用OpenEJB

“服务”是一个加载的术语。你是说“SOAPWeb服务”吗?还是“EJB无状态会话bean”

检查您的web.xml。听起来您未能声明名为helloservice的servlet。应该是这样的:

<servlet>
    <servlet-name>helloservlet</servlet-name>
    <servlet-class>com.your.package.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>helloservlet</servlet-name> <!-- names must match -->
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

helloservlet
com.your.package.HelloServlet
helloservlet
*.html

对于可能希望使用Tomcat/OpenEJB进行web服务的其他人,下面是一个简单的示例,它使用事务性EJB web服务使用JPA添加/列出/删除记录:


该示例还包括一个可以读/写web服务的Perl SOAP::Lite客户端。

谢谢您的回答。我对它做了一些修改。对于web服务,需要在servlet元素中使用com.sun.xml.ws.transport.http.servlet.WSServlet,在servlet映射元素中使用/helloservice。还需要添加包含smth的sun-jaxws.xml,如:其中helloservice.endpoint.Hello是“helloservice”web服务的实现请修改答案,因为提供的链接不再有效。