我已经部署了一个Web服务,但是在尝试访问它时遇到错误。我一直在谷歌搜索解决方案,但没有任何成功。这是我得到的回应的一部分:
<p>
<b>description</b>
The server encountered an internal error that prevented it from fulfilling this request.
</p>
<p>
<b>exception</b>
<pre>javax.servlet.ServletException: Servlet.init() for servlet com.restfulpractice.facade.service.ApplicationConfig threw exception</pre>
</p>
<p>
<b>root cause</b>
<pre>java.lang.IllegalStateException: Error when configuring to use the EJB interceptor binding API. JAX-RS EJB integration can not be supported.</pre>
</p>
<p>
<b>root cause</b>
<pre>java.lang.reflect.InvocationTargetException</pre>
</p>
<p>
<b>root cause</b>
<pre>java.lang.NullPointerException</pre>
</p>
我发现的第一个解决方案是我应该将应用程序扩展到web.xml的类映射:
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.restfulpractice.facade.service.ApplicationConfig</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webresources</url-pattern>
</servlet-mapping>
但我从服务器收到此错误:
SEVERE:加载应用程序时出现异常:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:java.lang.ClassNotFoundException:com.sun.jersey .spi.container.servlet.ServletContainer
这是项目结构:
我正在使用SOAP UI来测试我的Web服务。当我通过localhost访问它时,该服务正常工作,但是当我尝试使用我的公共IP访问它时,我收到了错误消息。我做错了什么?