Как создать скелеты сервера веб-службы JAXWS из wsdl (не в IDE) - PullRequest
2 голосов
/ 05 октября 2011

Я не могу найти где-нибудь, как создать веб-сервис из серверных скелетов (Java Pojo's) из WSDL с использованием JAXWS. Единственные учебники, которые я вижу, - это использование автоматического мастера в NetBeans и axis2 в затмении. Может кто-нибудь дать мне подсказку о том, как генерировать классы на стороне сервера из данного wsdl?

Спасибо

UPADATE:
Мне просто нужно сделать:
wsimport.bat -Xendorsed SOAP.WSDL
и это создает артефакты. Но как мне это реализовать на сервере?

Ответы [ 3 ]

7 голосов
/ 05 октября 2011

В дополнение к классам на стороне клиента, wsimport также генерирует SEI (интерфейс конечной точки службы). Все, что вам нужно сделать, это создать реализацию для этого.

Тогда он должен быть готов к развертыванию на сервере приложений.

Ответ расширен:

Если вы используете Metro, это - учебное пособие о том, как сопоставить SEI и SIB (компонент реализации службы) с файлами конфигурации и подготовить их к развертыванию.

1 голос
/ 15 ноября 2013

Как указывает Кевин , это можно сделать с помощью cxf .Они также поддерживают maven плагин .Вот пример того, как сгенерировать скелет реализации на стороне сервера:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>2.7.7</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>src/main/gen</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>src/main/webapp/WEB-INF/wsdl/yourWsdl.wsdl
                        </wsdl>
                        <wsdlLocation>classpath:wsdl/yourWsdl.wsdl</wsdlLocation>
                        <!--  Generate WS impl Skeleton -->
                        <extraargs>
                            <extraarg>-impl</extraarg>
                        </extraargs>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Опция -impl создаст скелет класса impl, который обеспечивает базовую реализацию для интерфейса @WebService на стороне сервера.(поставщик).Обратите внимание, что это также создает класс Service (на стороне потребителя / клиента).

1 голос
/ 05 октября 2011

Вы можете сделать это, используя wsdl2j на этапах сборки, используя maven или ant.Также неплохим является плагин cxf codegen для maven.

...