试了好多次,都是这样。当使用Spring配置来发布两个或以上的类作为WebService的时候,只有配置文件里面的第一个可以被成功发布,以后的都会出错。
配置文件如下:
xml 代码
- <jaxws:endpoint id="SampleService"
- implementor="fred.web.webservice.implementation.SampleServiceImpl" address="/SampleService">
- <jaxws:serviceFactory>
- <ref bean="jaxWsServiceFactoryBean"/>
- jaxws:serviceFactory>
- jaxws:endpoint>
- <jaxws:endpoint id="ServiceForNetGeo"
- implementor="fred.web.webservice.implementation.ServiceForNetGeoImpl" address="/ServiceForNetGeo">
- <jaxws:serviceFactory>
- <ref bean="jaxWsServiceFactoryBean"/>
- jaxws:serviceFactory>
- jaxws:endpoint>
比如,一个的wsdl路径为http://localhost/CxfSservice/ws/SampleService?wsdl, 一个的wsdl路径为http://localhost/CxfService/ws/ServiceForNetGeo?wsdl。那么,浏览器中打开第一个的地址的时候,可以发现生成的wsdl是正确的。但是当打开第二个地址的时候,会发现生成的wsdl和第一个地址的是一样的。
查找了CXF提供的示例,都是只发布一个类的,没有发现有同时发布两个类的例子。或者这是CXF的bug?