Как развернуть JbossWS CXF в веб-приложении - PullRequest
1 голос
/ 24 ноября 2010

Когда я развертываю свое веб-приложение на сервере приложений JBoss, оно не может развернуть веб-сервис. Я использую нисходящий подход и сгенерировал необходимые файлы с помощью wsconsume.bat из моих wsdl- и xsd-файлов. Затем я добавляю необходимые аннотации в класс реализации веб-сервиса. Но это, насколько я понимаю, документация в руководствах пользователя не описывает, как мне следует продолжать.

Я экспериментировал с различными настройками в jbossws-cxf.xml и web.xml. Но webserive не может быть правильно развернут.

Кто-нибудь мог бы предложить некоторые моменты или указать мне на эталонную реализацию, которая описывает мой вариант использования?

1 Ответ

4 голосов
/ 24 ноября 2010

Так что я наконец-то получил его на работу.

Хитрость в том, чтобы удалить файл jbossws-cxf.xml.В web.xml должно быть отображение сервлета на класс реализации webservice.Затем файл Jbossws-cxf.xml автоматически генерируется и сохраняется в каталоге tmp.Я советую изучить этот файл, а затем создать jbossws-cxf.xml, чтобы можно было применить настройку.

Короче, вот как должна выглядеть конфигурация в ее самой простой форме:-INF / web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
  <servlet-name>ws-name</servlet-name>
  <servlet-class>org.company.WebServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>ws-name</servlet-name>
  <url-pattern>/webservice/endpoint</url-pattern>
</servlet-mapping>
</web-app>

WEB-INF / Jbossws-cxf.xml:

<beans xmlns='http://www.springframework.org/schema/beans' 
        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
        xmlns:beans='http://www.springframework.org/schema/beans' 
        xmlns:jaxws='http://cxf.apache.org/jaxws' 
        xmlns:soap='http://cxf.apache.org/bindings/soap' 
        xsi:schemaLocation='http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd'>
    <jaxws:endpoint id='ws-name' 
            address='http://127.0.0.1:8180/webservice/endpoint' 
            implementor='org.company.WebServiceImpl'>
        <jaxws:invoker>
            <bean class='org.jboss.wsf.stack.cxf.InvokerJSE'/>
        </jaxws:invoker>
    </jaxws:endpoint>
</beans>
...