После работы с образцами CXF у меня был простой веб-сервис, и он работал нормально. Однако я хотел бы интегрировать его с веб-приложением Spring внутри контейнера сервлета. После обновления файла конфигурации servlet.xml:
<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>
<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>
Мне удалось развернуть его в сервлете, но WSDL службы Spring ужасно неверен, хотя интерфейс Java и файлы реализации идентичны. См. Схемы Eclipse WSDL ниже:
альтернативный текст http://img171.imageshack.us/i/correcty.jpg/ альтернативный текст http://img190.imageshack.us/i/wrongia.jpg/
Почему такие разные WSDL генерируются из одинаковых файлов .java и как я могу заставить их работать в сервлете? Заранее спасибо.