у меня не сработало, кроме того, для этого нужны фигурные скобки, прежде чем
я возникают большие трудности при попытке использовать относительный адрес публикации в конфигурации моей конечной точки веб-службы CXF.
У меня есть простой Java-первый проект JAX-WS со следующими файлами конфигурации:
applicationContent-cxf.xml:
<beans xmlns=...>
...
<jaxws:endpoint
id="helloWorldService"
implementorClass="org.helloworld.ws.HelloWorldServiceImpl"
implementor="#helloWorldServiceImpl" <!-- spring managed -->
endpointName="sayHello"
address="HelloWorldService"/>
</beans>
web.xml:
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml
WEB-INF/applicationContext-cxf.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<display-name>Hello World Servlet</display-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
Согласно сhttp://cxf.apache.org/docs/servlet-transport.htmlкажется, я должен быть в состоянии указать адрес публикацииHelloWorldService
и URL-адрес службы будет разрешен (например,)HTTP: // локальный: 8080 / услуги / HelloWorldService, Но когда я пытаюсьHTTP: // локальный: 8080 / услуги / HelloWorldService WSDL Я получаю 404. Если я изменю адрес публикации в моей конечной точке jaxws на абсолютный URLhttp://localhost:8080/services/HelloWorldService
Я могу получить доступ к WSDL.
Я хочу указать относительный адрес конечной точки, если это возможно. Я новичок в использовании CXF (и написание веб-сервисов), поэтому любая помощь очень ценится!
ОБНОВЛЕНИЕ 1:
Обратите внимание, что я развертываю свой веб-сервис в Tomcat 7. Я не знаю, что его регистрирует, но одна из строк в моих состояниях журнала запускаSetting the server's publish address to be HelloWorldService
, Если кому-то нужна дополнительная информация, чтобы помочь мне, пожалуйста, дайте мне знать.
ОБНОВЛЕНИЕ 2:
Похоже, что CXF определяет, используется ли CXFServlet, и использует встроенный экземпляр Jetty, если это не так.http://cxf.apache.org/docs/xfire-migration-guide.html#XFireMigrationGuide-HTTPandServletSetup, По какой-то причине CXF использует встроенный экземпляр Jetty вместо моего сервлета. Тем не менее, я не знаю, какая дополнительная конфигурация мне нужна, кроме HelloWorldServlet в моем web.xml, и документация по CXF мне больше не помогает.