Относительный адрес публикации конечной точки CXF jaxws

У меня большие трудности с попыткой использовать относительный адрес публикации в моей конфигурации конечной точки веб-службы CXF.

У меня есть простой проект JAX-WS, ориентированный на Java, со следующими файлами конфигурации:

applicationContent-cxf.xml:


    ...
    
        endpointName="sayHello"
        address="HelloWorldService"/>

web.xml:


    
        contextConfigLocation
        
            WEB-INF/applicationContext.xml
            WEB-INF/applicationContext-cxf.xml
        
    

    
        
            org.springframework.web.context.ContextLoaderListener
        
    

    
        HelloWorldServlet
        Hello World Servlet
        
            org.apache.cxf.transport.servlet.CXFServlet
        
    

    
        HelloWorldServlet
        /services/*
    

Согласно http: // cxf. apache.org/docs/servlet-transport.html, кажется, я должен иметь возможность указать адрес публикации HelloWorldService , и URL-адрес службы будет преобразован в (например) http : // localhost: 8080 / services / HelloWorldService . Но когда я пытаюсь перейти на http: // localhost: 8080 / services / HelloWorldService? Wsdl , я получаю 404. Если я изменю адрес публикации в конечной точке jaxws на абсолютный URL http: // localhost: 8080 / services / HelloWorldService Я могу получить доступ к wsdl.

Я хочу указать относительный адрес конечной точки, если это возможно. Я новичок в использовании CXF (и написании веб-сервисов), поэтому приветствую любую помощь!

ОБНОВЛЕНИЕ 1:

Обратите внимание, что я развертываю свой веб-сервис на Tomcat 7. Я не знаю, что его регистрирует. , но в одной из строк моего журнала запуска указано Установка адреса публикации сервера как HelloWorldService . Если кому-то понадобится дополнительная информация, чтобы помочь мне, дайте мне знать.

ОБНОВЛЕНИЕ 2:

Похоже, что CXF определяет, «используется» ли CXFServlet, и использует встроенный экземпляр причала, если это не так. http://cxf.apache.org/docs/xfire-migration-guide.html#XFireMigrationGuide-HTTPandServletSetup . Итак, по какой-то причине CXF использует встроенный экземпляр причала вместо моего сервлета. Однако я не знаю, какая дополнительная конфигурация мне нужна, кроме HelloWorldServlet в моем web.xml, и документация CXF мне больше не помогает.

8
задан Jpnh 17 August 2011 в 18:47
поделиться