2009-09-14 124 views
0

在运行CXF示例之后,我有一个简单的Web服务启动并运行正常。不过,我想将它与servlet容器内的Spring Web应用程序集成。在Spring Framework中部署CXF Web服务

<jaxws:endpoint id="HelloWorldService" 
implementor="path.to.webservice.HelloWorldImpl" 
endpointName="e:HelloEndpoint" 
serviceName="s:HelloService" 
address="/HelloService" 
xmlns:e="http://service.jaxws.cxf.apache.org/endpoint" 
xmlns:s="http://service.jaxws.cxf.apache.org/service"/> 

和web.xml:更新servlet.xml中的配置文件后

<servlet> 
    <servlet-name>CXFServlet</servlet-name> 
    <servlet-class> 
     org.apache.cxf.transport.servlet.CXFServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>CXFServlet</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
</servlet-mapping> 

我能够把它在servlet部署,但春节服务的WSDL是即使错得离谱Java接口和实现文件是相同的。见Eclipse的WSDL概述如下:

alt text http://img171.imageshack.us/i/correcty.jpg/alt text http://img190.imageshack.us/i/wrongia.jpg/

为什么会这样不同的WSDL从相同的.java文件,我怎么能得到它在servlet工作产生的?提前致谢。

+0

我没有看到用于评论的wsdl轮廓,并且由于这种不同的服务引擎生成不同的WSDL – shivaspk 2009-09-14 15:04:33

回答

0

WSDL和模式取决于在CXF中选择前端和数据绑定。如果你的其他环境不是JAX-WS + JAXB,相同的版本,你会得到非常不同的结果。即使它仅仅是那些非CXF版本,你也可以期待美观上不同的结果。