如何解决春天,Apache CXF和嵌入式Jetty
| 我正在尝试使用Apache CXF,Spring和嵌入式Jetty服务器创建具有Web服务功能的服务器。当我运行项目时,服务器似乎已正确初始化,但是当我导航至http:// localhost:8080 / SomeService并希望看到服务WSDL时,却收到以下异常:SEVERE: /SomeService
java.lang.NullPointerException
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.httpconnection.handleRequest(httpconnection.java:535)
at org.mortbay.jetty.httpconnection$RequestHandler.headerComplete(httpconnection.java:865)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.httpconnection.handle(httpconnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
有任何想法吗?
这是Java main()
public static void main(String[] args) throws Exception {
new ClasspathXmlApplicationContext(new String[] {\"beans-jetty.xml\"});
}
beans-jetty.xml
<bean id=\"propertyConfigurer\"
class=\"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer\">
<property name=\"location\" value=\"file:conf/server.properties\" />
</bean>
<bean id=\"server\"
class=\"org.mortbay.jetty.Server\"
init-method=\"start\"
destroy-method=\"stop\">
<property name=\"connectors\">
<list>
<bean id=\"connector\" class=\"org.mortbay.jetty.nio.SelectChannelConnector\">
<property name=\"host\" value=\"${server.address}\"/>
<property name=\"port\" value=\"${server.port}\"/>
</bean>
</list>
</property>
<property name=\"handlers\">
<list>
<ref bean=\"context-cxf\"/>
</list>
</property>
</bean>
<bean name=\"context-cxf\" class=\"org.mortbay.jetty.servlet.Context\">
<property name=\"contextpath\" value=\"/\" />
<property name=\"handler\">
<bean class=\"org.mortbay.jetty.servlet.ServletHandler\">
<property name=\"servlets\">
<list>
<bean class=\"org.mortbay.jetty.servlet.ServletHolder\">
<property name=\"name\" value=\"cxf-servlet-holder\" />
<property name=\"servlet\">
<bean class=\"org.apache.cxf.transport.servlet.CXFServlet\" />
</property>
</bean>
</list>
</property>
<property name=\"servletMappings\">
<list>
<bean class=\"org.mortbay.jetty.servlet.ServletMapping\">
<property name=\"servletName\" value=\"cxf-servlet-holder\" />
<property name=\"pathSpec\" value=\"/*\" />
</bean>
</list>
</property>
</bean>
</property>
</bean>
<import resource=\"classpath:meta-inf/cxf/cxf-servlet.xml\" />
<import resource=\"classpath:/beans-cxf.xml\" />
beans-cxf.xml
<import resource=\"classpath:meta-inf/cxf/cxf.xml\" />
<import resource=\"classpath:meta-inf/cxf/cxf-extension-soap.xml\" />
<jaxws:endpoint
id=\"someService\"
implementor=\"com.awebster.gitta.services.someServiceImpl\"
address=\"${server.address}\" />
我应该提到我正在使用Maven单罐插件,尽管我怀疑这对这个问题有什么影响。
提前谢谢了!
安东尼
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。